Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Kernel > loop

module function Kernel.#loop

loop { ... } -> object

(中断されない限り)永遠にブロックの評価を繰り返します。

[RETURN]
breakの引数など、ループ脱出時の値を返します。
def try int
  n = 0
  loop do
    n += 1
    break(n) if rand(n) > int
  end
end

puts "end on #{try(400)}" #=> end on ???