[#380] bug report#3 and request#5 — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
1 message
1996/08/06
[ruby-list:412] Re: reexecute from rescue [ Re: about exception ]
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-08-13 10:12:17 UTC
List:
ruby-list #412
まつもと ゆきひろです.
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の最初から実行をやり直します.
まつもと ゆきひろ /:|)