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

Метод rposition

Метод rposition ищет элемент в итераторе, двигаясь с конца к началу. Он возвращает Some(usize) с индексом найденного элемента или None, если элемент не найден. Параметром метод принимает замыкание-предикат, которое возвращает true для искомого элемента. Метод требует, чтобы итератор реализовывал трейт DoubleEndedIterator и ExactSizeIterator.

Синтаксис

iter.rposition(predicate)

Пример

Давайте найдём позицию последнего чётного числа в векторе:

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

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

Some(3)

Пример

Давайте найдём позицию последнего элемента, который больше 10:

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

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

None

Пример

Давайте найдём позицию последней строки, начинающейся с буквы "c":

fn main() { let vec = vec!["abcde", "cde", "12345", "cab"]; let res = vec.iter().rposition(|&x| x.starts_with("c")); println!("{:?}", res); }

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

Some(3)

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

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