0.5.3 |
|
---|---|
0.5.2 |
|
0.5.1 |
|
0.5.0 |
|
#24 in #iterator-adapter
9KB
71 行
precog_iter
一个迭代器适配器,返回等价的 (iter.next(), iter.peek())
。
安装
在您的 Cargo.toml
中添加依赖。
[dependencies]
precog_iter = "0.5"
然后在您的 main.rs
或 lib.rs
文件中使用此特性。
use precog_iter::Precognition;
用法
use precog_iter::Precognition;
let mut iter = "ABAC".chars()
.precog()
.filter_map(|(codepoint, next)| {
// Remove codepoint if followed by 'C'.
match next {
Some(n) if n == 'C' => {
None
}
_ => Some(codepoint)
}
});
assert_eq!(iter.next(), Some('A'));
assert_eq!(iter.next(), Some('B'));
// The second 'A' has been filtered
assert_eq!(iter.next(), Some('C'));
assert_eq!(iter.next(), None);
许可证
许可协议为以下之一:
- Apache许可证2.0版(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献都应按照上述方式双许可,不附加任何额外的条款或条件。