rust入门——编写一个猜数游戏
首先命令行运行 cargo new guess
创建一个名为 guess 的项目。
> cargo new guess
Created binary (application) `guess` package
编辑 Cargo.toml 内容如下:
[package]
name = "guess"
version = "0.1.0"
authors = ["fifolilo"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand = "0.3.14"
(主要就是在最后增加了要安装的 rand 的版本)
在 guess 根目录下命令行运行 cargo build
安装相关依赖。
然后编辑 src/main.rs 文件内容如下:
use std::io;
use std::cmp::Ordering;
use rand::Rng;
fn main() {
println!("fifolilo: 接下来看是猜数字!");
let secret_number = rand::thread_rng().gen_range(1, 101);
loop {
println!("请输入你猜的数:");
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!("你猜的数字是:{}", guess);
match guess.cmp(&secret_number) {
Ordering::Less => println!("小了!"),
Ordering::Greater => println!("大了!"),
Ordering::Equal => {
println!("恭喜你答对了!");
break;
}
}
}
}
命令行执行 cargo run
运行,效果如下:
s> cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.03s
Running `target\debug\guess.exe`
fifolilo: 接下来看是猜数字!
请输入你猜的数:
50
你猜的数字是:50
大了!
请输入你猜的数:
25
你猜的数字是:25
大了!
请输入你猜的数:
12
你猜的数字是:12
小了!
请输入你猜的数:
20
你猜的数字是:20
恭喜你答对了!