簡體   English   中英

Rust 基本的 while 循環

[英]Rust basic while loop

(希望如此)來自一個完整的 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);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM