yarv-dev:158
From: (Yukihiro Matsumoto) <matz ruby-lang.org>
Date: Sun, 29 Aug 2004 15:22:06 +0900
Subject: [yarv-dev:158] Re: $! problem
まつもと ゆきひろです In message "[yarv-dev:156] $! problem" on 04/08/29, SASADA Koichi <ko1 atdot.net> writes: | $! の実装が大変そうです. | $! って必須ですか? 言語仕様としては必須でしょう。 ただし、実装が楽なように仕様を変えるのはありだと思います。 $!をrescue節のブロックパラメータ扱いにすれば特別なコストなし で実装できるんじゃないかと思うんですが、どうでしょう。rescue 節以外では必ずnilということにして。 |class E1 < Exception; end |class E2 < Exception; end | |1.times{ | begin | raise E1 | rescue E1 | begin | raise E2 | ensure | break | end | end |} |(これが E2 エラーにならないのも変かも) ensureでjumpを行うと例外が消えてしまうのが現状の動作ですが、 これは変えても構いません。たとえばエラーにするとか。 | あと,$! がなくなると raise $! の短縮形の raise ができなく |なっちゃいますね. これはうれしくない。 -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
156 2004-08-29 07:53 [ko1 atdot.net ] $! problem -> 158 2004-08-29 15:22 ┣[matz ruby-lang.org ] 161 2004-08-29 18:09 ┃┗[ko1 atdot.net ] 159 2004-08-29 17:21 ┗[maeda-yarv atusi.org]