問題一覧に戻る
初級制御構造
問題16: loop文

loopは無限ループを作成します。breakで明示的に脱出するまで実行を続けます。whileやforと異なり、loopは値を返すことができます。breakに値を渡すと、その値がloop式の結果になります。これは計算結果を返すループや、リトライ処理などで便利です。continueで次の反復にスキップすることもできます。

fn main() {
let mut count = 0;

// 無限ループ
{
count += 1;
println!("Count: {}", count);

// ブレーク条件
if count == 3 {
;
}
}

// 値を返すループ
let result = {
count += 1;
if count == 5 {
count * 2;
}
};
println!("Result: {}", result);
}