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

Функция repeat

Функция repeat создаёт итератор, который бесконечно повторяет переданное значение. Параметром функция принимает значение, которое нужно повторять. Итератор, возвращаемый функцией, бесконечен, поэтому его обычно комбинируют с такими методами, как take, zip или collect, чтобы ограничить количество повторений.

Синтаксис

std::iter::repeat(value)

Пример

Давайте создадим итератор, который повторяет число 5, и ограничим его тремя элементами с помощью метода take:

fn main() { let res: Vec<i32> = std::iter::repeat(5).take(3).collect(); println!("{:?}", res); }

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

[5, 5, 5]

Пример

Давайте создадим итератор, который повторяет строку "abcde", и ограничим его четырьмя элементами:

fn main() { let res: Vec<&str> = std::iter::repeat("abcde").take(4).collect(); println!("{:?}", res); }

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

["abcde", "abcde", "abcde", "abcde"]

Пример

Давайте объединим итератор repeat с методом zip, чтобы повторять значение столько раз, сколько элементов в другом итераторе:

fn main() { let res: Vec<(&str, i32)> = std::iter::repeat("abcde") .zip(vec![1, 2, 3]) .collect(); println!("{:?}", res); }

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

[("abcde", 1), ("abcde", 2), ("abcde", 3)]

Пример

Давайте используем repeat вместе с for_each для повторения значения с ограничением через take:

fn main() { std::iter::repeat(7) .take(5) .for_each(|x| print!("{} ", x)); println!(); }

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

7 7 7 7 7

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

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