gpt4 book ai didi

function - 为什么我不能用两个 i32 参数调用 gen_range?

转载 作者:行者123 更新时间:2023-12-03 11:27:32 24 4
gpt4 key购买 nike

我有这个代码,但它不能编译:

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);
}
编译错误:
error[E0061]: this function takes 1 argument but 2 arguments were supplied
--> src/main.rs:7:44
|
7 | let secret_number = rand::thread_rng().gen_range(0, 101);
| ^^^^^^^^^ - --- supplied 2 arguments
| |
| expected 1 argument

最佳答案

gen_range 方法期望单个 Range参数,不是两个 i32参数,所以改变:

let secret_number = rand::thread_rng().gen_range(0, 101);
到:
let secret_number = rand::thread_rng().gen_range(0..101);
它会编译并工作。注意:方法签名在版本 0.8.0 中更新的 rand crate,在 crate 的所有先前版本中,您的代码应该按原样运行。

关于function - 为什么我不能用两个 i32 参数调用 gen_range?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65431713/

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