Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール > loop

module function Kernel.#loop

loop -> Enumerator[permalink][rdoc]
loop { ... } -> object | nil

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

loop do
  print "Input: "
  line = gets
  break if !line or line =~ /^qQ/
  # ...
end

与えられたブロック内で StopIterationKernel.#raise すると ループを終了して nil を返します。 ループを終了させる場合、通常は break を使用してください。

[RETURN]
break の引数など、ループ脱出時の値を返します。