【Ruby入門】loop の使い方(loop・do を使った繰り返し処理まとめ)

loop を使うと、繰り返し処理を行うことができます。

以下から Rubyでの「loop・do」の使い方を解説していきます。

 

loop の基本

「loop」を使うと、永久に繰り返し処理を行うことができます。処理を途中で終了させるためには、break を使う必要があります。

loop do
  繰り返しを行う処理
end
メモ

以下のように記述する方法もあります。

loop {
  繰り返しを行う処理
}
メモ

break について詳しくはこちら

 

loop を使ったプログラム例

実際にプログラムを書いて動作を確認してみましょう。

 

繰り返し処理を行い、break で処理を終了させる

以下は、「num」の値を0から1ずつ足していき、3になるまで処理を繰り返す例。

プログラム
num = 0

loop do
  p num
  num += 1
  
  if num >= 3
    break
  end
end
実行結果
0
1
2
メモ

num += 1 は、「num」の変数に入っている数値に 1 を足す書き方です。

num = num + 1 と書くこともできます。

メモ

break を使うと、繰り返し処理を終了させることができます。詳しくはこちら

繰り返して行いたい処理は、do 〜 end の  のブロック内に書きます。今回の場合は p num で「num」の値を表示し、num += 1 で「num」に1を足す処理を繰り返し行います。

そのため「num」の値は 0, 1, 2, …… と増えていき、3 になると、条件で指定した num >= 3 が真(true)となるため、break が実行されて 繰り返し処理は終了します。

 

永久に繰り返し処理を行う

以下は永久に処理を繰り返す例。

プログラム
num = 0

loop do
  p num
  num += 1

  sleep 1 # 1秒間 処理を停止
end
実行結果
0
1
2
:
:

繰り返して行いたい処理は、do 〜 end の  のブロック内に書きます。今回の場合は p num で「num」の値を表示し、num += 1 で「num」に1を足したあと、sleep 1 で1秒間 処理を停止する処理を繰り返し行います。

そのため「num」の値は 0, 1, 2, …… と1秒ごとに永久に表示されます。

 

プログラム内で処理を止める記述はないため、プログラムを終了させるためは、キーボードの Ctrl + C を入力します。

以下のようにプログラムが終了します。

 

まとめ

以上、Rubyでの「loop・do」の使い方でした!

 

ここまでの内容をまとめておきます。

  • 「loop」を使うと、永久に繰り返し処理を行うことができる。
  • do 〜 end のブロック内に、繰り返して行いたい処理を書く。
  • 繰り返し処理の中で break を使うことで、処理を終了させることができる。