Rust 有没有办法知道我们在for循环中进行了多少次迭代?

Rust 有没有办法知道我们在for循环中进行了多少次迭代?,rust,Rust,有没有一种简单的方法可以知道我们在for循环中完成了多少次迭代 如果我有这个密码 用于行中的行{ println!(“{}:{}”,行号,行); } 如何轻松获取号码linenumber?是否需要使用外部计数器变量?它应该简单到: for (linenumber, line) in lines.enumerate() { println!("{}: {}", linenumber, line); } 你也可以 #[macro_use] extern crate itertools;

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

如果我有这个密码

用于行中的行{
println!(“{}:{}”,行号,行);
}

如何轻松获取号码
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);
    }
}

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

Nice,效果非常好!我认为值得一提的是这本书的for-loop部分,你知道如何处理范围吗
5..10.enumerate()
并不存在,它与括号一起工作:
(5..10)。enumerate()
常规
。zip()
也在libstd中。Itertools
izip!()
的贡献在于它允许压缩两个以上的iTerable。