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

Метод size_hint

Метод size_hint возвращает кортеж из двух чисел: нижнюю границу и опциональную верхнюю границу оставшегося количества элементов итератора. Метод не принимает параметров и возвращает значение типа (usize, Option<usize>). Нижняя граница является точной, а верхняя может быть None, если итератор не знает своего точного размера.

Синтаксис

iterator.size_hint()

Пример

Давайте получим границы размера для итератора вектора:

fn main() { let v = vec![1, 2, 3, 4, 5]; let iter = v.iter(); let res = iter.size_hint(); println!("{:?}", res); }

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

(5, Some(5))

Пример

Давайте получим границы размера после пропуска нескольких элементов итератора:

fn main() { let v = vec![1, 2, 3, 4, 5]; let mut iter = v.iter(); iter.next(); iter.next(); let res = iter.size_hint(); println!("{:?}", res); }

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

(3, Some(3))

Пример

Давайте получим границы размера для итератора с фильтрацией, где верхняя граница неизвестна:

fn main() { let v = vec![1, 2, 3, 4, 5]; let iter = v.iter().filter(|&&x| x > 2); let res = iter.size_hint(); println!("{:?}", res); }

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

(0, Some(5))

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

  • класс Iterator,
    который представляет собой основной трейт для итерации
  • метод count,
    который подсчитывает количество элементов итератора
  • метод take,
    который ограничивает количество элементов итератора
  • метод skip,
    который пропускает первые элементы итератора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить