2 个不稳定版本
0.2.0 | 2022年6月21日 |
---|---|
0.1.0 | 2022年6月20日 |
3 在 #taken
8KB
196 代码行
iter-sk(ip)(t)ak(e)
这创建了一个新的迭代器类型,它结合了 std::iter::Skip 和 std::iter::Take 的功能。用法如下
let v: Vec<i32> = vec![1,2,3,4,5,6,7,8];
// Takes the first 2 values of `v` into `taken` and makes the rest of the iterator accessible through `next`
let (mut taken, mut next) = Skak::new(v.iter(), 2);
let mut count = 0;
assert_eq!(next.size_hint().0, v.len() - 2);
while next.size_hint().0 > 0 {
println!("Set {}", count);
// You can then call `Skak::skip` with your previous iterator, and a new amount of elements to be skipped
(taken, next) = Skak::skip(next, 2);
count += 1;
}