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

Цикл while let

Цикл while let - это конструкция, которая объединяет возможности цикла while и условного оператора if let. Он выполняет блок кода до тех пор, пока шаблон успешно сопоставляется со значением. Как только сопоставление перестаёт быть успешным, цикл завершается. Это удобно использовать для перебора значений из итераторов, возвращающих Option, или для работы с изменяемыми структурами данных.

Синтаксис

while let Some(x) = выражение { // тело цикла }

Пример

Давайте рассмотрим простой пример использования while let с вектором и методом pop, который возвращает Option:

fn main() { let mut vec = vec![1, 2, 3, 4, 5]; while let Some(x) = vec.pop() { println!("{}", x); } }

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

5 4 3 2 1

Пример

Давайте рассмотрим пример, в котором цикл while let прерывается, когда значение не соответствует шаблону:

fn main() { let mut vec = vec!["a", "b", "c", "d", "e"]; while let Some(s) = vec.pop() { if s == "c" { break; } println!("{}", s); } }

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

"e" "d"

Пример

Давайте рассмотрим пример, в котором цикл while let используется для перебора значений из итератора:

fn main() { let mut iter = "abcde".chars(); while let Some(ch) = iter.next() { println!("{}", ch); } }

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

"a" "b" "c" "d" "e"

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

  • оператор if let,
    который выполняет код при успешном сопоставлении с шаблоном
  • цикл while,
    который выполняет код, пока условие истинно
  • цикл loop,
    который выполняет код бесконечно до явного прерывания
  • оператор match,
    который сопоставляет значение с несколькими шаблонами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить