4 个版本
0.2.0 | 2023 年 8 月 2 日 |
---|---|
0.1.2 | 2023 年 8 月 1 日 |
0.1.1 | 2023 年 8 月 1 日 |
0.1.0 | 2023 年 8 月 1 日 |
#2477 在 Rust 模式
16KB
131 行
peekable_next
该 peekable_next
包为 Rust 迭代器提供了一个扩展,引入了 PeekableNext
结构和相关特性。此扩展允许用户在不移动迭代器的情况下预览其下一个元素,这在需要在使用前检查即将到来的值的各种场景中非常有用。
用法
将此包添加到您的 Cargo.toml
[dependencies]
peekable_next = "0.2.0"
Import the `PeekNext` trait into your code:
```rust
use peekable_next::PeekNext;
基本示例
let data = vec![1, 2, 3];
let mut iter = data.iter().peekable_next();
// Peeking allows us to see the next value without advancing the iterator
assert_eq!(iter.peek(), Some(&&1));
assert_eq!(iter.peek_next(), Some(&&2));
assert_eq!(iter.next(), Some(&1)); // Advances to the next element (2)
assert_eq!(iter.peek(), Some(&&2));
assert_eq!(iter.next(), Some(&2)); // Advances to the next element (3)
// After the iterator is finished, peek returns None
assert_eq!(iter.peek(), Some(&&3));
assert_eq!(iter.next(), Some(&2));