有没有一种简单的方法可以知道我们在for循环中进行了多少次迭代?

如果我有此代码

for line in lines {
    println!("{}: {}", linenumber, line);
}

我如何轻松获得号码linenumber?我是否需要使用外部计数器变量?

最佳答案

它应该很简单:

for (linenumber, line) in lines.enumerate() {
    println!("{}: {}", linenumber, line);
}

你也可以
#[macro_use]
extern crate itertools;

fn main() {
    for (linenumber, line) in izip!(0.., lines) {
        println!("{}, {}", linenumber, line);
    }
}

以获得更大的灵活性。这样做的好处是,您可以更改编号的开始和步骤以及压缩元素的数量。

关于rust - 有没有办法知道我们在for循环中进行了多少次迭代?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30556670/

10-16 23:36