Rubyには、eachやtimesなど様々な繰り返し処理に使えるメソッドがありますが、単純なループを無限に繰り返すには、Rubyのカーネルメソッドであるloopメソッドが便利です。
loopメソッドの使い方
1 2 3 4 5 6 |
loop { 処理1 処理2 処理3 ・・・ } |
実際に使ってみましょう。以下に挙げるのは、現在の日時を無限に表示し続けるのだけのプログラムです。
コード
1 2 3 4 5 6 7 |
loop { puts Time.now } # => 2016-04-18 03:24:44 +0900 2016-04-18 03:24:44 +0900 2016-04-18 03:24:44 +0900 |
loopメソッドを終了する
loopメソッドは、break文を使ってループを終了することができます。
ループする条件を設定して、その条件が当てはまらなくなったらbreak文でループを脱出する例を紹介します。
コード
1 2 3 4 5 6 7 8 |
number = 0 loop { puts number number += 1 if number > 10 then break end } |
上記のコードでは、ループする毎にnumber変数が1ずつ加算されていき、10を超えたらbreakされます。
実行結果
1 2 3 4 5 6 7 8 9 10 11 |
0 1 2 3 4 5 6 7 8 9 10 |