Menu
Coddy logo textTech

Бесконечный цикл

Часть раздела 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.

challenge icon

Задание

Новичок

Напишите программу на Rust, которая имитирует простой счетчик. Программа должна использовать бесконечный цикл для непрерывного увеличения счетчика и вывода его значения. Цикл должен завершиться, когда счетчик достигнет определенного значения, заданного на входе.

Шаги для программы:

  1. Инициализируйте изменяемую переменную counter значением 0.
  2. Используйте бесконечный цикл (loop) для непрерывного увеличения counter на 1 в каждой итерации.
  3. Внутри цикла выведите текущее значение counter.
  4. Проверьте, равен ли 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;
    // Напишите свой код ниже

}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals