标签:代码 self str else new mic struct elf next
和闭包一样,练代码
struct Counter { count: u32, } impl Counter { fn new() -> Counter { Counter {count: 0 } } } impl Iterator for Counter { type Item = u32; fn next(&mut self) -> Option<Self::Item> { self.count += 1; if self.count < 6 { Some(self.count) } else { None } } } #[test] fn using_other_iterator_trait_methods() { let sum: u32 = Counter::new().zip(Counter::new().skip(1)) .map(|(a, b)| a * b) .filter(|x| x % 3 == 0) .sum(); assert_eq!(18, sum); }
标签:代码 self str else new mic struct elf next
原文地址:https://www.cnblogs.com/aguncn/p/11438455.html