2 个版本
使用旧的 Rust 2015
0.1.1 | 2017年8月18日 |
---|---|
0.1.0 | 2017年8月18日 |
1846 在 算法
7KB
67 行
peepable
peepable 是 Rust 对 Peekable
的类似实现。它通过急切地加载迭代器的下一个值而略有不同。这允许在不可变引用上调用 .peep()
,从而避免借用检查器。
示例
use std::iter::Iterator;
use peepable::Peepable;
let mut iter = vec![1, 2, 3].into_iter();
// Note, this is not "mut peeper"!
let peeper = Peepable::new(iter);
assert_eq!(peeper.peep(), Some(&1));
// When mutable, we can use it as a normal iterator.
let mut peeper = peeper;
assert_eq!(peeper.next(), Some(1));
assert_eq!(peeper.peep(), Some(&2));
assert_eq!(peeper.next(), Some(2));
assert_eq!(peeper.next(), Some(3));
assert_eq!(peeper.peep(), None);
assert_eq!(peeper.next(), None);
许可证
peepable 在 MIT 许可证 下授权。