catchとthrowで大脱出。

久しぶりにミスドに行きポン・デ・ライオン以外のキャラクタが居ることにビックリ。他にはどんなのが居るのだろうと調べてみたら、こんなにも居た。
私の大好きなココナッツチョコレートのキャラクタが居ないのはどういうことか。納得がいかない。
というわけで、catchとthrowを使って深いループから一発で脱出する。

#!/usr/bin/env ruby

range = (0..10)

catch (:catch) do
  while true
    while true
      range.each do |i|
        throw :catch if i > 5
        puts i
      end
    end
  end
end

結果。

0
1
2
3
4
5

catchとthrowって例外処理と勘違いしてしまいそうだ。気をつけなくては。


プログラミングRuby 第2版 言語編

プログラミングRuby 第2版 言語編