mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2024-11-09 00:43:59 +08:00
add listings code && update to ch02-00
This commit is contained in:
parent
a0652f5baf
commit
956996e0e8
6
listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.lock
generated
Executable file
6
listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
8
listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.toml
Executable file
8
listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.toml
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
31
listings/ch02-guessing-game-tutorial/listing-02-01/src/main.rs
Executable file
31
listings/ch02-guessing-game-tutorial/listing-02-01/src/main.rs
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
// ANCHOR: all
|
||||||
|
// ANCHOR: io
|
||||||
|
use std::io;
|
||||||
|
// ANCHOR_END: io
|
||||||
|
|
||||||
|
// ANCHOR: main
|
||||||
|
fn main() {
|
||||||
|
// ANCHOR_END: main
|
||||||
|
// ANCHOR: print
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
// ANCHOR_END: print
|
||||||
|
|
||||||
|
// ANCHOR: string
|
||||||
|
let mut guess = String::new();
|
||||||
|
// ANCHOR_END: string
|
||||||
|
|
||||||
|
// ANCHOR: read
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
// ANCHOR_END: read
|
||||||
|
// ANCHOR: expect
|
||||||
|
.expect("Failed to read line");
|
||||||
|
// ANCHOR_END: expect
|
||||||
|
|
||||||
|
// ANCHOR: print_guess
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
// ANCHOR_END: print_guess
|
||||||
|
}
|
||||||
|
// ANCHOR: all
|
83
listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
15
listings/ch02-guessing-game-tutorial/listing-02-02/src/main.rs
Executable file
15
listings/ch02-guessing-game-tutorial/listing-02-02/src/main.rs
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
28
listings/ch02-guessing-game-tutorial/listing-02-03/src/main.rs
Executable file
28
listings/ch02-guessing-game-tutorial/listing-02-03/src/main.rs
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
// ANCHOR: all
|
||||||
|
use std::io;
|
||||||
|
// ANCHOR: ch07-04
|
||||||
|
use rand::Rng;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// ANCHOR_END: ch07-04
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
// ANCHOR: ch07-04
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
// ANCHOR_END: ch07-04
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
// ANCHOR: ch07-04
|
||||||
|
}
|
||||||
|
// ANCHOR_END: ch07-04
|
||||||
|
// ANCHOR_END: all
|
83
listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
45
listings/ch02-guessing-game-tutorial/listing-02-04/output.txt
Executable file
45
listings/ch02-guessing-game-tutorial/listing-02-04/output.txt
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
$ cargo build
|
||||||
|
Compiling libc v0.2.86
|
||||||
|
Compiling getrandom v0.2.2
|
||||||
|
Compiling cfg-if v1.0.0
|
||||||
|
Compiling ppv-lite86 v0.2.10
|
||||||
|
Compiling rand_core v0.6.2
|
||||||
|
Compiling rand_chacha v0.3.0
|
||||||
|
Compiling rand v0.8.3
|
||||||
|
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
|
||||||
|
error[E0308]: mismatched types
|
||||||
|
--> src/main.rs:22:21
|
||||||
|
|
|
||||||
|
22 | match guess.cmp(&secret_number) {
|
||||||
|
| ^^^^^^^^^^^^^^ expected struct `String`, found integer
|
||||||
|
|
|
||||||
|
= note: expected reference `&String`
|
||||||
|
found reference `&{integer}`
|
||||||
|
|
||||||
|
error[E0283]: type annotations needed for `{integer}`
|
||||||
|
--> src/main.rs:8:44
|
||||||
|
|
|
||||||
|
8 | let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
| ------------- ^^^^^^^^^ cannot infer type for type `{integer}`
|
||||||
|
| |
|
||||||
|
| consider giving `secret_number` a type
|
||||||
|
|
|
||||||
|
= note: multiple `impl`s satisfying `{integer}: SampleUniform` found in the `rand` crate:
|
||||||
|
- impl SampleUniform for i128;
|
||||||
|
- impl SampleUniform for i16;
|
||||||
|
- impl SampleUniform for i32;
|
||||||
|
- impl SampleUniform for i64;
|
||||||
|
and 8 more
|
||||||
|
note: required by a bound in `gen_range`
|
||||||
|
--> /Users/carolnichols/.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.8.3/src/rng.rs:129:12
|
||||||
|
|
|
||||||
|
129 | T: SampleUniform,
|
||||||
|
| ^^^^^^^^^^^^^ required by this bound in `gen_range`
|
||||||
|
help: consider specifying the type arguments in the function call
|
||||||
|
|
|
||||||
|
8 | let secret_number = rand::thread_rng().gen_range::<T, R>(1..101);
|
||||||
|
| ++++++++
|
||||||
|
|
||||||
|
Some errors have detailed explanations: E0283, E0308.
|
||||||
|
For more information about an error, try `rustc --explain E0283`.
|
||||||
|
error: could not compile `guessing_game` due to 2 previous errors
|
32
listings/ch02-guessing-game-tutorial/listing-02-04/src/main.rs
Executable file
32
listings/ch02-guessing-game-tutorial/listing-02-04/src/main.rs
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
// ANCHOR: here
|
||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// --snip--
|
||||||
|
// ANCHOR_END: here
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
// ANCHOR: here
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => println!("You win!"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
83
listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
45
listings/ch02-guessing-game-tutorial/listing-02-05/src/main.rs
Executable file
45
listings/ch02-guessing-game-tutorial/listing-02-05/src/main.rs
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
// ANCHOR: ch19
|
||||||
|
let guess: u32 = match guess.trim().parse() {
|
||||||
|
Ok(num) => num,
|
||||||
|
Err(_) => continue,
|
||||||
|
};
|
||||||
|
// ANCHOR_END: ch19
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
// --snip--
|
||||||
|
// ANCHOR_END: here
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => {
|
||||||
|
println!("You win!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
35
listings/ch02-guessing-game-tutorial/listing-02-06/src/main.rs
Executable file
35
listings/ch02-guessing-game-tutorial/listing-02-06/src/main.rs
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = match guess.trim().parse() {
|
||||||
|
Ok(num) => num,
|
||||||
|
Err(_) => continue,
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => {
|
||||||
|
println!("You win!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.lock
generated
Executable file
6
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
8
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.toml
Executable file
8
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.toml
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
5
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/output.txt
Executable file
5
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/output.txt
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 1.50s
|
||||||
|
Running `target/debug/guessing_game`
|
||||||
|
Hello, world!
|
3
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/src/main.rs
Executable file
3
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/src/main.rs
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
6
listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.lock
generated
Executable file
6
listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
13
listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/output.txt
Executable file
13
listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/output.txt
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
$ cargo build
|
||||||
|
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
|
||||||
|
warning: unused `Result` that must be used
|
||||||
|
--> src/main.rs:10:5
|
||||||
|
|
|
||||||
|
10 | io::stdin().read_line(&mut guess);
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: `#[warn(unused_must_use)]` on by default
|
||||||
|
= note: this `Result` may be an `Err` variant, which should be handled
|
||||||
|
|
||||||
|
warning: `guessing_game` (bin "guessing_game") generated 1 warning
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.59s
|
@ -0,0 +1,13 @@
|
|||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin().read_line(&mut guess);
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,33 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => println!("You win!"),
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
40
listings/ch02-guessing-game-tutorial/no-listing-04-looping/src/main.rs
Executable file
40
listings/ch02-guessing-game-tutorial/no-listing-04-looping/src/main.rs
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
// ANCHOR_END: here
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => println!("You win!"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
83
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock
generated
Executable file
83
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock
generated
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
9
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml
Executable file
9
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
38
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/src/main.rs
Executable file
38
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/src/main.rs
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => {
|
||||||
|
println!("You win!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
6
listings/ch03-common-programming-concepts/listing-03-01/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/listing-03-01/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "functions"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
6
listings/ch03-common-programming-concepts/listing-03-01/Cargo.toml
Executable file
6
listings/ch03-common-programming-concepts/listing-03-01/Cargo.toml
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "functions"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
3
listings/ch03-common-programming-concepts/listing-03-01/src/main.rs
Executable file
3
listings/ch03-common-programming-concepts/listing-03-01/src/main.rs
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
let y = 6;
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-02/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/listing-03-02/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "branches"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
6
listings/ch03-common-programming-concepts/listing-03-02/Cargo.toml
Executable file
6
listings/ch03-common-programming-concepts/listing-03-02/Cargo.toml
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "branches"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
5
listings/ch03-common-programming-concepts/listing-03-02/output.txt
Executable file
5
listings/ch03-common-programming-concepts/listing-03-02/output.txt
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling branches v0.1.0 (file:///projects/branches)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.30s
|
||||||
|
Running `target/debug/branches`
|
||||||
|
The value of number is: 5
|
6
listings/ch03-common-programming-concepts/listing-03-02/src/main.rs
Executable file
6
listings/ch03-common-programming-concepts/listing-03-02/src/main.rs
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let condition = true;
|
||||||
|
let number = if condition { 5 } else { 6 };
|
||||||
|
|
||||||
|
println!("The value of number is: {}", number);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-03/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/listing-03-03/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
6
listings/ch03-common-programming-concepts/listing-03-03/Cargo.toml
Executable file
6
listings/ch03-common-programming-concepts/listing-03-03/Cargo.toml
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
11
listings/ch03-common-programming-concepts/listing-03-03/src/main.rs
Executable file
11
listings/ch03-common-programming-concepts/listing-03-03/src/main.rs
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut number = 3;
|
||||||
|
|
||||||
|
while number != 0 {
|
||||||
|
println!("{}!", number);
|
||||||
|
|
||||||
|
number -= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("LIFTOFF!!!");
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-04/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/listing-03-04/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
6
listings/ch03-common-programming-concepts/listing-03-04/Cargo.toml
Executable file
6
listings/ch03-common-programming-concepts/listing-03-04/Cargo.toml
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
9
listings/ch03-common-programming-concepts/listing-03-04/output.txt
Executable file
9
listings/ch03-common-programming-concepts/listing-03-04/output.txt
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling loops v0.1.0 (file:///projects/loops)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.32s
|
||||||
|
Running `target/debug/loops`
|
||||||
|
the value is: 10
|
||||||
|
the value is: 20
|
||||||
|
the value is: 30
|
||||||
|
the value is: 40
|
||||||
|
the value is: 50
|
10
listings/ch03-common-programming-concepts/listing-03-04/src/main.rs
Executable file
10
listings/ch03-common-programming-concepts/listing-03-04/src/main.rs
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
fn main() {
|
||||||
|
let a = [10, 20, 30, 40, 50];
|
||||||
|
let mut index = 0;
|
||||||
|
|
||||||
|
while index < 5 {
|
||||||
|
println!("the value is: {}", a[index]);
|
||||||
|
|
||||||
|
index += 1;
|
||||||
|
}
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-05/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/listing-03-05/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
6
listings/ch03-common-programming-concepts/listing-03-05/Cargo.toml
Executable file
6
listings/ch03-common-programming-concepts/listing-03-05/Cargo.toml
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
7
listings/ch03-common-programming-concepts/listing-03-05/src/main.rs
Executable file
7
listings/ch03-common-programming-concepts/listing-03-05/src/main.rs
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
fn main() {
|
||||||
|
let a = [10, 20, 30, 40, 50];
|
||||||
|
|
||||||
|
for element in a {
|
||||||
|
println!("the value is: {}", element);
|
||||||
|
}
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,16 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
error[E0384]: cannot assign twice to immutable variable `x`
|
||||||
|
--> src/main.rs:4:5
|
||||||
|
|
|
||||||
|
2 | let x = 5;
|
||||||
|
| -
|
||||||
|
| |
|
||||||
|
| first assignment to `x`
|
||||||
|
| help: consider making this binding mutable: `mut x`
|
||||||
|
3 | println!("The value of x is: {}", x);
|
||||||
|
4 | x = 6;
|
||||||
|
| ^^^^^ cannot assign twice to immutable variable
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0384`.
|
||||||
|
error: could not compile `variables` due to previous error
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let x = 5;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
x = 6;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,6 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.30s
|
||||||
|
Running `target/debug/variables`
|
||||||
|
The value of x is: 5
|
||||||
|
The value of x is: 6
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut x = 5;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
x = 6;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,6 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.31s
|
||||||
|
Running `target/debug/variables`
|
||||||
|
The value of x in the inner scope is: 12
|
||||||
|
The value of x is: 6
|
@ -0,0 +1,12 @@
|
|||||||
|
fn main() {
|
||||||
|
let x = 5;
|
||||||
|
|
||||||
|
let x = x + 1;
|
||||||
|
|
||||||
|
{
|
||||||
|
let x = x * 2;
|
||||||
|
println!("The value of x in the inner scope is: {}", x);
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
// ANCHOR: here
|
||||||
|
let spaces = " ";
|
||||||
|
let spaces = spaces.len();
|
||||||
|
// ANCHOR_END: here
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,12 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
error[E0308]: mismatched types
|
||||||
|
--> src/main.rs:3:14
|
||||||
|
|
|
||||||
|
2 | let mut spaces = " ";
|
||||||
|
| ----- expected due to this value
|
||||||
|
3 | spaces = spaces.len();
|
||||||
|
| ^^^^^^^^^^^^ expected `&str`, found `usize`
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0308`.
|
||||||
|
error: could not compile `variables` due to previous error
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
// ANCHOR: here
|
||||||
|
let mut spaces = " ";
|
||||||
|
spaces = spaces.len();
|
||||||
|
// ANCHOR_END: here
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "floating-point"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "floating-point"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
fn main() {
|
||||||
|
let x = 2.0; // f64
|
||||||
|
|
||||||
|
let y: f32 = 3.0; // f32
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "numeric-operations"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "numeric-operations"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,17 @@
|
|||||||
|
fn main() {
|
||||||
|
// addition
|
||||||
|
let sum = 5 + 10;
|
||||||
|
|
||||||
|
// subtraction
|
||||||
|
let difference = 95.5 - 4.3;
|
||||||
|
|
||||||
|
// multiplication
|
||||||
|
let product = 4 * 30;
|
||||||
|
|
||||||
|
// division
|
||||||
|
let quotient = 56.7 / 32.2;
|
||||||
|
let floored = 2 / 3; // Results in 0
|
||||||
|
|
||||||
|
// remainder
|
||||||
|
let remainder = 43 % 5;
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "boolean"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "boolean"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
fn main() {
|
||||||
|
let t = true;
|
||||||
|
|
||||||
|
let f: bool = false; // with explicit type annotation
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "char"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
6
listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.toml
Executable file
6
listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.toml
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "char"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
5
listings/ch03-common-programming-concepts/no-listing-09-char/src/main.rs
Executable file
5
listings/ch03-common-programming-concepts/no-listing-09-char/src/main.rs
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
fn main() {
|
||||||
|
let c = 'z';
|
||||||
|
let z = 'ℤ';
|
||||||
|
let heart_eyed_cat = '😻';
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-10-tuples/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-10-tuples/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "tuples"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "tuples"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
let tup: (i32, f64, u8) = (500, 6.4, 1);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-11-destructuring-tuples/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-11-destructuring-tuples/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "tuples"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "tuples"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,7 @@
|
|||||||
|
fn main() {
|
||||||
|
let tup = (500, 6.4, 1);
|
||||||
|
|
||||||
|
let (x, y, z) = tup;
|
||||||
|
|
||||||
|
println!("The value of y is: {}", y);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-12-tuple-indexing/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-12-tuple-indexing/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "tuples"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "tuples"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,9 @@
|
|||||||
|
fn main() {
|
||||||
|
let x: (i32, f64, u8) = (500, 6.4, 1);
|
||||||
|
|
||||||
|
let five_hundred = x.0;
|
||||||
|
|
||||||
|
let six_point_four = x.1;
|
||||||
|
|
||||||
|
let one = x.2;
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-13-arrays/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-13-arrays/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "arrays"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "arrays"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
let a = [1, 2, 3, 4, 5];
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-14-array-indexing/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-14-array-indexing/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "arrays"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "arrays"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let a = [1, 2, 3, 4, 5];
|
||||||
|
|
||||||
|
let first = a[0];
|
||||||
|
let second = a[1];
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/Cargo.lock
generated
Executable file
6
listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/Cargo.lock
generated
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "arrays"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user