2 个稳定版本
使用旧的 Rust 2015
1.0.1 | 2023 年 12 月 2 日 |
---|---|
1.0.0 | 2023 年 10 月 21 日 |
0.1.0 |
|
#1797 在 Rust 模式 中
9KB
155 行
Head-Tail-Iter
将切片分割成头和尾的迭代器。然后,将尾分割成其头和尾,依此类推。
迭代器的元素类型是 (&'a T, &'a [T])
。迭代会持续进行,直到没有元素为止。因此,最后一个返回的值具有原始切片的最后一个元素作为其头,并且一个空切片作为其尾。
示例
use std::fmt::Write;
use head_tail_iter::HeadTailIterator;
let mut s = String::new();
for x in [0, 1, 2, 3].head_tail_pairs() {
writeln!(&mut s, "{:?}", x);
}
assert_eq!(s, "\
(0, [1, 2, 3])
(1, [2, 3])
(2, [3])
(3, [])
");
use head_tail_iter::HeadTailIterator;
for (head, tail) in vec![3, 2, 1, 0].head_tail_pairs() {
assert_eq!(*head, tail.len());
}