まつもと ゆきひろです.
In message "[ruby-list:410] Re: reexecute from rescue [ Re: about exception ]"
on 96/08/13, 石塚圭樹 <keiju / shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです.
|なるほど, 例外が起こった時の処理を イテレータブロック(?)として渡すわけ
|ですね. この方法なら対処できそうです.
|
|Smalltalk の
|
|coll remove: elm ifAbsent: [...]
|
|と同じ考えですね. ruby でも こういう感じのメソッドがあるかと思って調べ
|ましたがありませんでした. やはり, 例外があるからかな?
そうでしょうね.今までのところあまりこういう使い方が必要なこ
とはありませんでした.私は無い時には「無いよ」といわれる方が
好きです.
|そうすると, break で rescue 節を抜ける(begin..endを終る)ことはできない
|のですね?
できません.rescue節はif文のelse節と同じで特別に脱出できる構
文ではないのです.
|trap(closureも含めて)中で, breakは意味が分かりましたが, nextはどういう
|動作を行なうのでしょうか?
そのclosureの最初から実行をやり直します.
まつもと ゆきひろ /:|)