【发布时间】:2021-05-23 02:10:34
【问题描述】:
我有一个 for 循环:
let list: &[i32]= vec!(1,3,4,17,81);
for el in list {
println!("The current element is {}", el);
println!("The current index is {}", i);// <- How do I get the current index?
}
如何获取当前元素的索引?
我试过了
for el, i in list
for {el, i} in list
for (el, i) in list.enumerate()
我能够使用 vec 的映射访问迭代器,但收到错误:
unused `std::iter::Map` that must be used
note: `#[warn(unused_must_use)]` on by default
note: iterators are lazy and do nothing unless consumed
和this SO answer on the subject 让我相信我应该改用 for 循环(尽管我可能会误解),因为我并没有试图以任何方式调整原始 vec。
【问题讨论】:
-
请提供完整的错误信息..
-
enumerate()产生的元组顺序相反,即(i, el)而不是(el, i)。请参阅Examples section。