Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Rust中迭代数组时更改数组中的值_Rust - Fatal编程技术网

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

如何在Rust中迭代数组时更改数组中的值,rust,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!

我想更改循环中的值,就像在注释中一样。这应该很简单,但我看不出解决办法

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");
    }
}

iter\u 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)
}

更惯用的说法是
用于&mut网格中的行{
用于&mut行中的单元格{