2017-05-08 13 views
-3

これを書く別の方法がありますか?前方および現在のイテレータ

fn main() { 
    let mut a = [1, 2, 3, 4, 5]; 
    let mut iter1 = a.iter(); 
    let mut iter2 = a.iter().skip(1).peekable(); 

    while iter2.peek().is_some() { 
     println!("iter1: {:?}, iter2: {:?}", iter1.next(), iter2.next()); 
    } 
} 
+0

おそらくあなたはコードが/想定されないものを記述するためにいくつかの単語を使用することができます何をする? – Shepmaster

+0

2つのイテレーターを使用する代わりに、イテレーターが先を見たり後ろを向いて見えるようにする方法があるかどうか疑問です – GoldenChrysanthem

答えて

3

私は、正確な問題が何であるかの特定はないですが、コード自体がwindowsイテレータを使用して書き換えることができます

fn main() { 
    let a = [1, 2, 3, 4, 5]; 
    for w in a.windows(2) { 
     println!("elem1: {:?}, elem2: {:?}", w[0], w[1]); 
    } 
} 
関連する問題