1 个稳定版本
1.0.0 | 2021年1月22日 |
---|
#1909 在 Rust 模式
用于 informa
11KB
156 行
spans
此包允许您将迭代器分割为连续的区间。
导入 Spans
特性以扩展 Iterator
use spans::Spans;
现在您可以使用 Spans::spans_by_key
将迭代器分割为连续的区间
let vec = vec![1, 2, 5, 6, 7, 11, 13, 14, 15];
let mut spans = vec.iter().spans_by_key(|&&x| x, |a, b| a + 1 == b);
while let Some(span) = spans.next() {
println!("span = {:?}", span.collect::<Vec<_>>());
}
上面的代码将向量分割成每个项目都比前一个项目大1的区间。以下文本将被打印出来
span = [1, 2]
span = [5, 6, 7]
span = [11]
span = [13, 14, 15]
非常感谢 Matt Brubeck 在 Rust 用户论坛 上慷慨地帮助我。
lib.rs
:
此包允许您将迭代器分割为连续的区间。
use spans::Spans;
现在您可以使用 spans_by_key
将迭代器分割为连续的区间
let vec = vec![1, 2, 5, 6, 7, 11, 13, 14, 15];
let mut spans = vec.iter().spans_by_key(|&&x| x, |a, b| a + 1 == b);
while let Some(span) = spans.next() {
println!("span = {:?}", span.collect::<Vec<_>>());
}
上面的代码将向量分割成每个项目都比前一个项目大1的区间。以下文本将被打印出来
span = [1, 2]
span = [5, 6, 7]
span = [11]
span = [13, 14, 15]
有关更多信息,请参阅 spans_by_key
文档。