From: SASADA Koichi Date: 2009-02-05T23:58:56+09:00 Subject: [ruby-dev:37922] Re: [Bug #1105] Ruby1.9でのrescue節の例外ハンドラのマッチの処理  ささだです. Nobuyoshi Nakada wrote:: > +static VALUE > +m_core_handle_rescue_single(VALUE self, VALUE klass, VALUE exc) > +{ > + check_rescue_arg(klass); + check_rescue_arg(exc); > + return rb_funcall(klass, idEqq, 1, exc); > +} > + > +static VALUE > +m_core_handle_rescue_array(VALUE self, VALUE klass, VALUE ary) > +{ > + long i; > + check_rescue_arg(klass); > + for (i = 0; i < RARRAY_LEN(ary); ++i) { + VALUE exc = RARRAY_PTR(ary)[i]; + check_rescue_arg(exc); + VALUE result = rb_funcall(klass, idEqq, 1, exc); > + if (RTEST(result)) return result; > + } > + return Qfalse; > +}  じゃなくていいんでしたっけ.つまり,投げられたほうじゃなくて,受ける方 をチェック.メソッド呼び出しが一回増えるのが,性能的にどの程度 impact が あるのかよくわからないのですが. # そもそも,これは以前まつもとさんに「この仕様でいいですかね」と確認を # とったんだけどなぁ. # => [yarv-dev:175] Re: eval in rescue clause -- // SASADA Koichi at atdot dot net