如何通过2d矢量进行迭代?

  • 本文关键字:迭代 何通过 2d rust
  • 更新时间 :
  • 英文 :


我正在尝试迭代Vec3的2d向量,但我对Rust相当陌生,我不确定如何。以下是我目前得到的结果:

let vertList: Vec<Vec<Vec3>> = vec![vec![Vec3::new(0.,0.,0.);h as usize];w as usize];
for h in 0..vertList[?][?] {
for w in 0..vertList[?][?] {
//Some code for each pixel
}
}

为了进一步的上下文,我想使用这个2d向量来存储屏幕的颜色值,并且我想扫描所有像素。

您可以直接在Vec的元素上使用for循环,而不涉及0..len的索引范围,使用Vec::iter:

for row in vertList.iter() {
for pixel in row.iter() {
// …
}
}

(或者,因为&Vec可以直接成为迭代器,而这里的row无论如何都是Vec的借用,)

for row in &vertList {
for pixel in row {
// …
}
}

为了完整起见,您要查找的范围将分别以vertList.len()vertList[h].len()结束。

相关内容

  • 没有找到相关文章

最新更新