Как выполнить итерацию Vec <T> с индексированной позицией?

Мне нужно выполнить итерацию Vec, но мне нужна позиция для каждого итерационного элемента. Я уверен, что это уже в API, но я не вижу его.

Мне нужно что-то вроде этого:

fn main() {
    let v = vec![1;10];
    for (pos, e) in v.iter() {
        // do something here 
    }
}

Ответ 1

Вы можете использовать функцию enumerate() :

fn main() {
    let v = vec![1;10];
    for (pos, e) in v.iter().enumerate() {
        println!("Element at position {}: {:?}", pos, e);
    }
}

Playpen