Rubyで無限ループはkernel.#loop
タグ: ruby / 初版公開: 2014-03-05

Rubyの無限ループで最も簡潔なのはKernel.#loopだろう。

Kernel.#loopはブロックの中身を無限に繰り返すメソッドだ。

loop do
  # 無限ループ!
end

ブロック内でStopIterationraiseするとnilを返してループは終了する。

loop do
  raise StopIteration
end

単にループを終わらせたいならbreakすれば良い。

loop do
  break
end