2015-03-11 8 views
6

Potrzebuję iterować Vec, ale potrzebuję pozycji dla każdego iterowanego elementu. Jestem pewien, że jest to już w interfejsie API, ale nie widzę go.Jak iterować Vec <T> z pozycją indeksowaną?

muszę coś takiego:

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

Odpowiedz

9

Można użyć enumerate() funkcję:

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

Playpen