gpt4 book ai didi

rust - Rust 1.3.0 中的猜谜游戏

转载 作者:行者123 更新时间:2023-11-29 08:36:18 24 4
gpt4 key购买 nike

猜谜游戏的问题

extern crate rand;

use std::io;

use std::cmp::Ordering;

use rand::Rng;



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.");

let mut guess = String::new();

io::stdin().read_line(&mut guess)
.ok()
.expect("failed to read line");

println!("You guessed: {}", guess);

match guess.cmp(&secret_number) {
Ordering::Less => println!("Too small!"),
Ordering::Greater => println!("Too big!"),
Ordering::Equal => println!("You win!"),
}
}

但这给我一个错误:

src\main.rs:26:21: 26:35 error: mismatched types:
expected `&collections::string::String`,
found `&_`
(expected struct `collections::string::String`,
found integral variable) [E0308]
src\main.rs:26 match guess.cmp(&secret_number) {
^~~~~~~~~~~~~~

这是什么原因造成的,我该如何解决?

最佳答案

来自 stdin 的用户输入是一个字符串。而你从 rand 得到的数字是 u32。尝试在 secret_number 上使用 to_string

匹配猜测.cmp(&secret_number.to_string())

关于rust - Rust 1.3.0 中的猜谜游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32665342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com