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

Метод take

Метод take создаёт новый итератор, который извлекает не более n элементов из исходного итератора. Параметром метод принимает количество элементов n, которое нужно взять из исходного итератора. Если исходный итератор содержит меньше n элементов, то новый итератор вернёт все имеющиеся элементы. Метод не изменяет исходный итератор, а лишь создаёт адаптер, который ограничивает его длину.

Синтаксис

iter.take(n)

Пример

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

fn main() { let vec = vec![1, 2, 3, 4, 5]; let res: Vec<i32> = vec.iter().take(3).cloned().collect(); println!("{:?}", res); }

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

[1, 2, 3]

Пример

Если запросить больше элементов, чем есть в итераторе, метод вернёт все доступные элементы:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let res: Vec<i32> = vec.iter().take(10).cloned().collect(); println!("{:?}", res); }

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

[1, 2, 3, 4, 5]

Пример

Давайте возьмём первые два элемента из вектора строк:

fn main() { let vec = vec!["a", "b", "c", "d", "e"]; let res: Vec<&str> = vec.iter().take(2).cloned().collect(); println!("{:?}", res); }

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

["a", "b"]

Пример

Метод take можно комбинировать с другими адаптерами, например с map:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let res: Vec<i32> = vec.iter().take(3).map(|x| x * 10).collect(); println!("{:?}", res); }

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

[10, 20, 30]

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

  • метод skip,
    который пропускает первые n элементов итератора
  • метод take_while,
    который берёт элементы, пока выполняется условие
  • метод map,
    который преобразует каждый элемент итератора
  • метод collect,
    который собирает элементы итератора в коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить