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
を使うことで、処理を終了させることができる。