ism*_*hah 3 random methods numbers function rust
我有这个代码,但它不能编译:
use rand::Rng;
use std::io;
fn main() {
println!("Guess the number!");
let secret_number = rand::thread_rng().gen_range(0, 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");
println!("You guessed: {}", guess);
}
Run Code Online (Sandbox Code Playgroud)
编译错误:
use rand::Rng;
use std::io;
fn main() {
println!("Guess the number!");
let secret_number = rand::thread_rng().gen_range(0, 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");
println!("You guessed: {}", guess);
}
Run Code Online (Sandbox Code Playgroud)
kfe*_*v91 11
该gen_range方法需要一个Range参数,而不是两个i32参数,因此更改:
let secret_number = rand::thread_rng().gen_range(0, 101);
Run Code Online (Sandbox Code Playgroud)
到:
let secret_number = rand::thread_rng().gen_range(0..101);
Run Code Online (Sandbox Code Playgroud)
它会编译并工作。注意:方法签名已在crate版本0.8.0中更新,在randcrate 的所有先前版本中,您的代码应按原样工作。