當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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