РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
631 of 1245 menu

Метод any

Метод any проверяет, существует ли в итераторе хотя бы один элемент, для которого переданная функция-предикат возвращает true. Если такой элемент найден, метод немедленно возвращает true и прекращает дальнейший перебор. В противном случае возвращается false. Параметром метод принимает замыкание, которое получает ссылку на очередной элемент и возвращает bool.

Синтаксис

iterator.any(predicate)

Пример

Давайте проверим, есть ли в векторе [1, 2, 3, 4, 5] хотя бы один чётный элемент:

fn main() { let res = vec![1, 2, 3, 4, 5].iter().any(|x| x % 2 == 0); println!("{}", res); }

Результат выполнения кода:

true

Пример

Давайте проверим, есть ли в векторе [1, 2, 3, 4, 5] хотя бы один элемент, больший десяти:

fn main() { let res = vec![1, 2, 3, 4, 5].iter().any(|x| *x > 10); println!("{}", res); }

Результат выполнения кода:

false

Пример

Давайте проверим, начинается ли хотя бы одна строка в векторе ["abcde", "12345", "abcdef"] с подстроки "abc":

fn main() { let res = vec!["abcde", "12345", "abcdef"] .iter() .any(|s| s.starts_with("abc")); println!("{}", res); }

Результат выполнения кода:

true

Пример

Метод any прекращает перебор, как только находит подходящий элемент. Давайте убедимся в этом, добавив вывод каждого проверяемого элемента:

fn main() { let res = vec![1, 2, 3, 4, 5].iter().any(|x| { println!("check {}", x); *x > 2 }); println!("res = {}", res); }

Результат выполнения кода:

check 1 check 2 check 3 res = true

Как видно из вывода, после того как был найден элемент 3, удовлетворяющий условию, дальнейшие элементы 4 и 5 не проверялись.

Смотрите также

  • метод all,
    который проверяет, удовлетворяют ли условию все элементы итератора
  • метод find,
    который возвращает первый элемент, удовлетворяющий условию
  • метод filter,
    который создаёт итератор из элементов, удовлетворяющих условию
  • метод position,
    который возвращает позицию первого элемента, удовлетворяющего условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить