(希望如此)来自一个完整的 Rust 初学者的一个简单问题。我的循环有什么问题?
num
计算结果为“69”的速度相当快,但是一旦 num
设置为“69”,循环就永远不会退出。我肯定遗漏了一些明显的东西......
extern crate rand;
use rand::Rng;
fn main() {
let funny_number: u16 = 69;
let mut num: u16 = 0;
let mut rng = rand::thread_rng();
while num != funny_number {
let mut num: u16 = rng.gen_range(0, 100);
println!("{}", num);
}
}
最佳答案
问题是您在 while 循环中创建了一个新变量,它具有不同的作用域,而 while 条件中的 num 永远不会改变。由于它进入无限循环。试试下面的代码:
extern crate rand;
use rand::Rng;
fn main() {
let funny_number: u16 = 69;
let mut num: u16 = 0;
let mut rng = rand::thread_rng();
while num != funny_number {
num = rng.gen_range(0, 100);
println!("{}", num);
}
}
关于Rust 基本 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59200001/