loop -> Enumerator
[permalink][rdoc][edit]loop { ... } -> object | nil
-
(中断されない限り)永遠にブロックの評価を繰り返します。ブロックが指定されなければ、代わりに Enumerator を返します。
loop do print "Input: " line = gets break if !line or line =~ /^qQ/ # ... end
与えられたブロック内で StopIteration を Kernel.#raise するとループを終了して Enumerator が最後に返した値を返します。ループを終了させる場合、通常は break を使用してください。
enum = Enumerator.new { |y| y << "one" y << "two" :ok } result = loop { puts enum.next } # => :ok
- [RETURN]
- break の引数など、ループ脱出時の値を返します。