Rust のループ
1. ループ(繰り返し処理)
ループ(Loop)を使用すると、指定された条件に達するまでコードブロックを繰り返し実行することができます。
ループは、作業時間の短縮やエラーの削減、さらにはコードの可読性を高めるために非常に便利です。たとえば、同じテキストをプリントするために同じ行を10回書く代わりに、ループを使用して処理を自動的に繰り返すことができます。
Rustには、loop、while、for という3種類のループが用意されています。
2. loop
loop は、Rustの3種類のループの中で最もシンプルなタイプです。
停止するように指示しない限り、永久に実行を続けます。
loop {
println!("これは永久に繰り返されます!");
}警告: このループは決して止まりません!プログラムを終了するには、Ctrl + C を押す必要があります。
3. ループの停止(break)
ループを停止するには、break キーワードを使用します。
例:
let mut count = 1;
loop {
println!("ハローワールド!");
if count == 3 {
break;
}
count += 1;
}コードの解説:
- この処理は「ハローワールド!」を3回プリントします。
- 何回ループしたかを追跡するためにカウンター(Counter)を使用しています。
- カウンターは1から始まります(
let mut count = 1;)。 - ループが実行されるたびに、カウンターの値が1ずつ増えます(
count += 1;)。 - 値が3に達すると、ループが停止します。
4. 戻り値を返す(Return a Value)
break の後に値を指定することで、loop から値を返す(リターンする)ことも可能です。
これにより、ループの実行結果を直接変数に保存できます。
例:
let mut count = 1;
let result = loop {
println!("ハロー!");
if count == 3 {
break count; // ループを停止し、数値「3」を返す
}
count += 1;
};
println!("ループは次の値で停止しました: {}", result);このループは、count が3に達するまで「ハロー!」をプリントし続け、その後停止してその数値を返します。
注意:ループの結果を変数に保存する場合、末尾にセミコロン(;)を付ける必要があります。