Инструкция break в Rust
Пусть круг перебирает числа от нуля и печатает их. Нужно понять,
встретилось ли число 3. Если встретилось, выведем
"Y":
for i in 0..6 {
if i == 3 {
println!("Y"); // выведет Y
}
}
Задача решена, но после находки круг все равно идет дальше и тратит
шаги впустую. Оптимальнее сразу завершить работу. Это делает команда
break: она досрочно прерывает текущий круг и передает
управление строкам после тела. Оставшиеся шаги не выполняются.
Завершим перебор, как только встретится 3:
for i in 0..10 {
if i == 3 {
println!("Y"); // выведет Y
break; // выйдем из цикла
}
println!("{}", i); // выведет 0, 1 и 2
}
println!("end"); // выведет end
Команда break завершает и loop, и while, и
for. Тот же прием в круге с проверкой:
let mut n = 0;
while n < 5 {
if n == 2 {
break;
}
println!("{}", n); // выведет 0 и 1
n += 1;
}
Дано число:
let stop_at = 4;
Перебирайте 0..10, печатайте шаг и как только он станет равен
stop_at, завершите круг. После тела выведите "done".
Дан следующий код:
for k in 0..5 {
if k == 5 {
break;
}
println!("{}", k);
}
Скажите, какое наибольшее число появится при выводе.
Запустите перебор 0..6, выводите каждый шаг и остановите круг
при значении 3, не печатая его.
Выводите числа от 10 вниз. Как только встретится 0,
завершите цикл и само число 0 уже не печатайте.
Идите от 5 вниз. Найдите сумму чисел от начала до первого
отрицательного, не включая его.
Определите, сколько целых чисел, начиная с числа 1, нужно
сложить, чтобы сумма получилась больше 100.