我设法使其工作(参见下面的示例),但这需要数组的多次迭代.
有没有办法让向量只迭代一次?
struct Vx {
pub a: f32,
pub b: f32,
}
fn main() {
let mut varr = Vec::new();
varr.push(Vx { a: 0., b: 0. });
varr.push(Vx { a: 1., b: 1. });
varr.push(Vx { a: 2., b: 2. });
let a: Vec<f32> = varr.iter().map(|v| v.a).collect();
let b: Vec<f32> = varr.iter().map(|v| v.b).collect();
println!("a: {:?}", a);
println!("b: {:?}", b);
}