Loops 如何以函数样式迭代二维向量?
不幸的是,以下操作不起作用:Loops 如何以函数样式迭代二维向量?,loops,vector,functional-programming,iterator,rust,Loops,Vector,Functional Programming,Iterator,Rust,不幸的是,以下操作不起作用: let vecs: Vec<Vec<i32>> = get_vectors(); let result = vecs .iter() .iter() .do_something() .do_something_else() // etc 我更喜欢.iter方法。我如何才能做到这一点?使用: 展平将嵌套迭代器转换为一个迭代器。使用: 展平将嵌套迭代器转换为一个迭代器。@Yee不客气。阅读iterator和sl
let vecs: Vec<Vec<i32>> = get_vectors();
let result = vecs
.iter()
.iter()
.do_something()
.do_something_else() // etc
我更喜欢.iter方法。我如何才能做到这一点?使用:
展平将嵌套迭代器转换为一个迭代器。使用:
展平将嵌套迭代器转换为一个迭代器。@Yee不客气。阅读iterator和slice的全部文档时不要犹豫,您将看到大量有用的方法@不客气。阅读iterator和slice的全部文档时不要犹豫,您将看到大量有用的方法;
for row in vecs.iter() {
for column in row.iter() {
// do something
}
}
fn main() {
let v = vec![vec![1, 2], vec![3, 4], vec![5, 6]];
for i in v.iter().flatten() {
println!("{}", i); // 1 2 3 4 5 6
}
}