如何在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行中的单元格{
。