learn_itor 0.1.0

a example of my studying rust iterator.
Documentation


fn main() {
     let v1 = vec![2,4,6];
      //let mut v1_itor = v1.iter_mut();
    //  if let Some(v) = v1_itor.next() {
    //      *v = 3;
    //  }

    let v2: Vec<_> = v1.into_iter().filter(|x| *x > 4).collect();

    // println!("v1 = {:?}", v1);
     println!("v2 = {:?}", v2);



    // for item in v1_itor {
    //     println!("{}", item);
    // }
    // v1_itor.next();
    // v1_itor.next();
    // v1_itor.next();
    // if None == v1_itor.next() {
    //     println!("bbb");
    // }else{
    //     println!("aaaa");
    // }
   
}


#[test]
fn iter_enum(){
    let v1 = vec![2,4,6];
    let mut v1_itor = v1.iter();

    assert_eq!(Some(&2), v1_itor.next());
    assert_eq!(Some(&4), v1_itor.next());
    assert_eq!(Some(&6), v1_itor.next());
    assert_eq!(None,     v1_itor.next());
    assert_eq!(None,     v1_itor.next());
    assert_eq!(None,     v1_itor.next());
    assert_eq!(None,     v1_itor.next());
}

#[test]
fn iter_enum_sum(){
    let v1 = vec![1,2,3];
    let mut v1_itor = v1.iter();
    //v1_itor.next();

    if None == v1_itor.next() {
        println!("bbb");
    }else{
        println!("aaaa");
    }

    // let total: i32 = v1_itor.sum();
    // assert_eq!(total, 6);

    //v1_itor.next();

   // let total: i32 = v1_itor.sum();
   // assert_eq!(total, 6);
}

#[test]
fn iter_map(){
    let v2: Vec<i32> = vec![1,2,3];
    let v3: Vec<_> = v2.iter().map(|x| x + 1).collect();

    assert_eq!(v3, vec![2,3,4]);
}