Rust 速習チュートリアル

Rust のループ

1. ループ(繰り返し処理)

ループ(Loop)を使用すると、指定された条件に達するまでコードブロックを繰り返し実行することができます。

ループは、作業時間の短縮やエラーの削減、さらにはコードの可読性を高めるために非常に便利です。たとえば、同じテキストをプリントするために同じ行を10回書く代わりに、ループを使用して処理を自動的に繰り返すことができます。

Rustには、loopwhilefor という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に達するまで「ハロー!」をプリントし続け、その後停止してその数値を返します。

注意:ループの結果を変数に保存する場合、末尾にセミコロン(;を付ける必要があります。