Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmOpWL 305 of 373 menu
◀ ▶

Конструкция while let в Rust

У вектора есть команда pop, которая снимает последний элемент и отдает его в виде необязательного значения. Когда список пуст, ответ пустой. Цикл с образцом заполненного варианта повторяет тело, пока с конца еще что-то забирают.

Цикл забирает элементы с конца, пока они есть:

let mut nums = vec![1, 2, 3]; while let Some(n) = nums.pop() { println!("{}", n); }

На экране по очереди 3, 2, 1. После последнего шага список пуст, цикл заканчивается. Длину можно не проверять отдельно: пустой ответ сам останавливает повтор:

let mut nums = vec![10]; while let Some(n) = nums.pop() { println!("{}", n); } println!("{}", nums.len());

Дан следующий вектор:

let mut nums = vec![4, 5, 6];

Выведите все числа с конца в порядке снятия в main.rs.

Дан следующий вектор:

let mut nums: Vec<i32> = vec![];

Скажите, сколько раз выполнится тело цикла с образцом заполненного варианта.

После цикла, который снимает все элементы с конца, какой длины останется вектор?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить