Цикл for в Rust
Сейчас мы изучим повтор заданное число раз через диапазон. Запись
0..3 задает числа 0, 1, 2, а 3
уже не входит: правый край без равно в набор не попадает. Перебор
оформляют конструкцией for: имя счетчика, слово in и
диапазон.
Левый край играет роль начального значения счетчика, правый задает границу остановки, а шаг по умолчанию равен единице. Трехчастного заголовка с отдельными командами после прохода здесь нет: все это заменяет диапазон. Напечатаем числа от одного до девяти:
for i in 1..10 {
println!("{}", i); // выведет 1, 2, 3 и далее до 9
}
Два знака равно включают правый край. Запись 0..=3 задает
числа 0, 1, 2 и 3. Без второго равно
тройка не попала бы в набор:
for i in 0..=3 {
println!("{}", i); // выведет 0, 1, 2 и 3
}
Пусть счетчик растет не на 1, а на 2. К диапазону
добавляют step_by. Скобки вокруг диапазона здесь обязательны:
for i in (1..10).step_by(2) {
println!("{}", i); // выведет 1, 3, 5, 7 и 9
}
Давайте теперь будем идти по числам с конца к началу. К диапазону
добавляют rev, и шаги идут в обратном порядке. Скобки вокруг
диапазона нужны, чтобы вызвать rev. От пяти до одного:
for i in (1..=5).rev() {
println!("{}", i); // выведет 5, 4, 3, 2 и 1
}
Обратный ход тоже бывает с шагом. Сначала диапазон разворачивают
вызовом rev, затем берут каждый третий шаг через
step_by. От 10 до 1 получим такой ряд:
for i in (1..=10).rev().step_by(3) {
println!("{}", i); // выведет 10, 7, 4 и 1
}
Выведите слово "ok" три раза, каждый раз с новой строки.
Выведите числа от 1 до 10 включительно.
Выведите числа от 20 до 25 включительно.
Выведите числа от 1 до 10, не включая 10.
Выведите нечетные числа от 1 до 15.
Выведите четные числа от 2 до 20.
Выведите числа 0, 3, 6 и 9.
Выведите числа от 1 до 20 с шагом 4,
не включая 20.
Выведите числа от 10 до 1.
Выведите числа 20, 17, 14, 11,
8, 5 и 2.