1个稳定版本
1.0.0 | 2020年7月28日 |
---|
#9 在 #第N次
5KB
77 行
cycle-to-nth
此包提供了一种简单的迭代器和关联适配器,可以将迭代器循环到第n个元素。这是标准库中Cycle迭代器的一个包装,略有修改,在达到第n次迭代时停止循环。
这在需要短(或长度未知)迭代器,但需要正好n
个元素的迭代器时非常有用。例如,自定义数组/容器的初始化,扩展/截断样本集以输入到信号处理算法中,等等。
示例
以下示例将一个较小的迭代器(只有一个元素)扩展到一个较长的迭代器(对同一元素进行5次迭代)
let v = vec![1u32];
assert_eq!(v.iter().cycle_to_nth(5).sum::<u32>(), 5u32);
以下示例将一个较长的迭代器截断为正好5个元素的迭代器。
let v = vec![1u32; 10];
assert_eq!(v.iter().cycle_to_nth(5).sum::<u32>(), 5u32);