Конструкция 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![];
Скажите, сколько раз выполнится тело цикла с образцом заполненного варианта.
После цикла, который снимает все элементы с конца, какой длины останется вектор?