Actions
Feature #3627
closedcatchのブロックを再実行するメソッド
Feature #3627:
catchのブロックを再実行するメソッド
Description
=begin
catchとthrowで、ネストを飛び越えたbreakのようなことができるわけですが、同様のネストを飛び越えたnextのようなもの、を現在のrubyでやるのは少々面倒です。
retryを利用して、
tag = Class.new Exception
begin
...
raise tag
...
rescue tag
retry
end
という手もないではありませんが無理矢理っぽいです。
throwのかわりに、なにか別のメソッド(rewindという名前はどうでしょう?)を実行すると、catchのブロックが再実行される、というのはどうでしょうか?
=end
Actions