本文简要介绍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 Peekable.next_if_eq用法及代码示例
- Rust Peekable.peek用法及代码示例
- Rust Peekable.peek_mut用法及代码示例
- Rust PermissionsExt.set_mode用法及代码示例
- Rust Permissions.set_readonly用法及代码示例
- Rust PermissionsExt.from_mode用法及代码示例
- Rust Permissions.readonly用法及代码示例
- Rust PermissionsExt.mode用法及代码示例
- Rust PanicInfo.payload用法及代码示例
- Rust Path.components用法及代码示例
- Rust PathBuf.with_capacity用法及代码示例
- Rust Poll.map用法及代码示例
- Rust Path.is_symlink用法及代码示例
- Rust Poll.map_ok用法及代码示例
- Rust Pointer用法及代码示例
- Rust Path.canonicalize用法及代码示例
- Rust PartialOrd.partial_cmp用法及代码示例
- Rust Path.is_relative用法及代码示例
- Rust Path.file_stem用法及代码示例
- Rust Path.to_string_lossy用法及代码示例
- Rust Path.display用法及代码示例
- Rust PathBuf.into_os_string用法及代码示例
- Rust PanicInfo用法及代码示例
- Rust PathBuf.pop用法及代码示例
- Rust Path.ancestors用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::iter::Peekable.next_if。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。