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
恭喜你答对了!
posted @ 2020-06-23 21:21  fifolilo  阅读(275)  评论(0编辑  收藏  举报