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

Метод rev

Метод rev создаёт новый итератор, который выдаёт элементы исходного итератора в обратном порядке. Метод не принимает параметров и доступен только для итераторов, реализующих трейт DoubleEndedIterator. Это означает, что исходный итератор должен уметь выдавать элементы как с начала, так и с конца.

Метод возвращает новый итератор типа Rev, который при вызове next отдаёт элементы в обратном порядке. Исходный итератор при этом потребляется.

Синтаксис

iterator.rev()

Пример

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

fn main() { let vec = vec![1, 2, 3, 4, 5]; for el in vec.iter().rev() { println!("{}", el); } }

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

5 4 3 2 1

Пример

Давайте соберём элементы вектора в новый вектор в обратном порядке с помощью метода rev и метода collect:

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

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

[5, 4, 3, 2, 1]

Пример

Давайте выведем символы строки в обратном порядке с помощью метода rev:

fn main() { let s = "abcde"; for ch in s.chars().rev() { println!("{}", ch); } }

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

e d c b a

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

  • трейт DoubleEndedIterator,
    который позволяет итератору выдавать элементы с конца
  • метод next,
    который возвращает следующий элемент итератора
  • метод last,
    который возвращает последний элемент итератора
  • метод cycle,
    который бесконечно повторяет элементы итератора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить