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
    }
}