本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。