#iterator #next #peek #extension #element #peekable #advancing

peekable_next

一个扩展,允许 Rust 迭代器在移动到下一个元素之前预览它

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 日

#2477Rust 模式

GPL-3.0 许可证

16KB
131

peekable_next

Crates.io Docs.rs License: GPL-3.0

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));

文档

无运行时依赖项