Rust 嵌套循环打印奇怪的结果

Rust 嵌套循环打印奇怪的结果,rust,Rust,我试着检查一个2d向量,发现了一些奇怪的行为,我一直找不到解释 fn main() { let mut main_loop = vec![]; let mut x = 0; let board_x = 10; let mut y = 0; let board_y = 10; while y < board_y { let mut row = vec![]; while x < board_x {

我试着检查一个2d向量,发现了一些奇怪的行为,我一直找不到解释

fn main() {
    let mut main_loop = vec![];
    let mut x = 0;
    let board_x = 10;
    let mut y = 0;
    let board_y = 10;

    while y < board_y {
        let mut row = vec![];
        while x < board_x {
            let v = random::<bool>();
            println!("x:{}", x);
            row.push(v);
            x = x + 1;
        }
        println!("y:{}", y);
        main_loop.push(row);
        y = y + 1;
    }
}
这不是应该打印x:1-x:10次吗?更奇怪的是,当我对每一行使用嵌套for循环对向量进行循环时,它在退出之前计算出60个索引。我错过了什么

这不是应该打印x:1-x:10次吗

为什么会这样?在完成内部循环后,您从未将
x
设置回零

除此之外,这种迭代应该通过
for
循环完成:

for x in 0..10 { ... }
[…]当我为每行使用嵌套for循环遍历向量时,它在退出之前计算出60个索引


我不知道;您没有发布该代码,我看不出有任何理由这样做。

例如,请下次使用rustfmt正确格式化代码。
for x in 0..10 { ... }