Бесконечный цикл
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 43 из 75.
В Rust бесконечные циклы можно создавать с помощью loop или while true. Оба выполняются до тех пор, пока не будут явно остановлены с помощью break или завершения программы.
Например:
loop {
// Код, который будет выполняться повторно
if condition {
break; // Выход из цикла, если условие выполнено
}
}Цикл продолжается до тех пор, пока не встретит break. Это полезно для программ, которые должны работать непрерывно, таких как серверы или устройства.
Вот пример бесконечного цикла, который выводит числа до тех пор, пока не будет выполнено определенное условие:
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
// Выход из цикла, когда count больше 5
}
}В этом примере цикл выведет числа от 0 до 5, а затем завершится, когда count станет равным 6.
Задание
НовичокНапишите программу на Rust, которая имитирует простой счетчик. Программа должна использовать бесконечный цикл для непрерывного увеличения счетчика и вывода его значения. Цикл должен завершиться, когда счетчик достигнет определенного значения, заданного на входе.
Шаги для программы:
- Инициализируйте изменяемую переменную
counterзначением 0. - Используйте бесконечный цикл (
loop) для непрерывного увеличенияcounterна 1 в каждой итерации. - Внутри цикла выведите текущее значение
counter. - Проверьте, равен ли
counterзначению завершения, предоставленному пользователем. Если это так, выйдите из цикла.
Шпаргалка
Бесконечные циклы в Rust можно создавать с помощью loop или while true. Они выполняются до тех пор, пока не будут явно остановлены с помощью break.
Базовый синтаксис бесконечного цикла:
loop {
// Код, который будет выполняться многократно
if condition {
break; // Выход из цикла, если условие выполнено
}
}Пример со счетчиком:
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
}
}Попробуйте сами
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let limit: i32 = input.trim().parse().unwrap();
let mut counter = 0;
// Напишите свой код ниже
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод