当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Peekable.next_if用法及代码示例


本文简要介绍rust语言中 std::iter::Peekable.next_if 的用法。

用法

pub fn next_if(    &mut self,     func: impl FnOnce(&<I as Iterator>::Item) -> bool) -> Option<<I as Iterator>::Item>

如果条件为真,则使用并返回此迭代器的下一个值。

如果func为此迭代器的下一个值返回true,则使用并返回它。否则,返回 None

例子

如果它等于 0,则使用一个数字。

let mut iter = (0..5).peekable();
// The first item of the iterator is 0; consume it.
assert_eq!(iter.next_if(|&x| x == 0), Some(0));
// The next item returned is now 1, so `consume` will return `false`.
assert_eq!(iter.next_if(|&x| x == 0), None);
// `next_if` saves the value of the next item if it was not equal to `expected`.
assert_eq!(iter.next(), Some(1));

消耗任何小于 10 的数字。

let mut iter = (1..20).peekable();
// Consume all numbers less than 10
while iter.next_if(|&x| x < 10).is_some() {}
// The next value returned will be 10
assert_eq!(iter.next(), Some(10));

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::iter::Peekable.next_if。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。