RCIE-ジャンクのコード屋

主に自分のためにコーディングのTIPSを蓄積しています。

Rust 繰り返しループ for, loop, break

概要

  • 処理の繰り返し(ループ)をするには for を使う。
  • 繰り返し回数が読めないときは loop を使う。
プログラム例
  • 1 から 10000 までの数の合計を表示する。
fn main() {
    let mut 合計 = 0; // 後で変更されるので mut が必要
    for 回数 in 1..=10000 {
        合計 += 回数;
    }
    println!("{}", 合計);
}
解説
  • 「for 変数 in 1..=10000」で、1~10000 の繰り返しができる。
  • 繰り返しカウンタは、変数に格納される。
プログラム例2
  • さっきと同じで、1 から 10000 までの数の合計を表示する。
fn main() {
    let mut 合計 = 0;
    let mut 回数 = 1;
    loop {
        合計 += 回数;
        match 回数 {
            10000 => break, // 10000なら脱出
            _ => 回数 += 1 // そうでなければカウンタを増やす
        }
    }
    println!("{}", 合計);
}
解説
  • 「loop」のブロック内は無限に実行され続ける。
  • 無限ループだと困るので、回数が10000の時点で分岐して脱出した。
  • 記述が長くなるので、普段は「for」を使っておけばいい。