無限ループ
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 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がユーザーから提供された終了値と等しいかどうかを確認します。等しい場合は、ループを抜けます(break)。
チートシート
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;
// 以下にコードを書いてください
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。