問題一覧に戻る
初級制御構造
問題19: break値の返却

breakは単にループを終了するだけでなく、値を返すこともできます。これはloop式でのみ可能で、whileやforでは使えません。ラベル付きループを使うと、ネストしたループから特定のループを抜けることができます。ラベルはシングルクォートで始まり、コロンで終わります(例:'outer:)。

fn main() {
// ループから値を返す
let result = loop {
let value = 42;
value;
};
println!("Result: {}", result);

// ラベル付きループ
let mut count = 0;
: loop {
println!("count = {}", count);
count += 1;

if count == 2 {
;
}
}
}