5
有沒有一種簡單的方法可以知道我們在for循環中做了多少迭代?有沒有辦法知道我們在for循環中做了多少次迭代?
如果我有這樣的代碼
for line in lines {
println!("{}: {}", linenumber, line);
}
我怎樣才能輕鬆地獲得數linenumber
?我是否需要使用外部計數器變量?
有沒有一種簡單的方法可以知道我們在for循環中做了多少迭代?有沒有辦法知道我們在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);
}
}
。這樣做的好處是可以讓您更改諸如編號的開始和步驟以及壓縮元素的數量等內容。
不錯,完美的作品!我認爲值得一提的是 –
這本書的for-loop部分你知道如何用範圍來做到這一點嗎? '5..10.enumerate()'不存在 –
我的不好,它適用於括號:'(5..10).enumerate()' –