module function Kernel.#loop
loop { ... } -> object
-
(中断されない限り)永遠にブロックの評価を繰り返します。
与えられたブロック内で StopIteration を Kernel.#raise すると ループを終了して nil を返します。 ループを終了させる場合、通常は break を使用してください。
- [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 ???
module Kernel