如何在Rust中迭代它时更改数组内的值

Tho*_*net 6 rust

我想在注释中更改循环内的值.它应该很简单,但我没有看到解决方案.

fn main() {
    let mut grid: [[i32; 10]; 10] = [[5; 10]; 10];
    for (i, row) in grid.iter_mut().enumerate() {
        for (y, col) in row.iter_mut().enumerate() {
            //grid[i][y] = 7;
            print!("{}", col);
        }
        print!("{}","\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

mca*_*ton 9

iter_mut迭代器给你的元素,您可以使用突变格的引用.你通常不应该使用索引.

fn main() {
    let mut grid: [[i32; 10]; 10] = [[5; 10]; 10];
    for row in grid.iter_mut() {
        for cell in row.iter_mut() {
            *cell = 7;
        }
    }

    println!("{:?}", grid)
}
Run Code Online (Sandbox Code Playgroud)

游乐场链接

  • 更习惯地看作`for row in&mut grid {`和`for cell in&mut row {`. (11认同)