From: Yusuke ENDOH Date: 2010-04-13T22:42:00+09:00 Subject: [ruby-dev:40974] Re: [Bug #3137] complex.rb changes exceptions of Math 遠藤です。 2010年4月13日17:11 Yukihiro Matsumoto : > まつもと ゆきひろです > > In message "Re: [ruby-dev:40971] Re: [Bug #3137] complex.rb changes exceptions of Math" > on Tue, 13 Apr 2010 17:05:17 +0900, keiju@ishitsuka.com (石塚圭樹) writes: > > |それは, 現行の状態です. そうじゃなくて, Mathと同じ上記の例外にしろって > |言われているんですが? > | > |私も積極的に変えなくちゃって気もしているわけではないので, rejectでもか > |まいませんけど... > |起票者の遠藤さんはどうかな? > > うーん、私は中立です。まあ、Floatをかませずにオリジナルのexp > を呼ぶぶんには実害は少ないのかな。 エラーメッセージの問題ではなく、例外クラスが変わることだと思い ます。 def tolerant_exp(x) begin Math.exp(x) rescue TypeError 0 end end というコードの挙動が、complex.rb をロードするかどうかで変わって しまうという……。こんな例がどのくらい存在するのか知りませんが。 # 前も言ったけど、NoMethodError が TypeError を継承してないのは # 設計ミスだと思う 個人的には、何が何でも直すべきとは思ってませんので、reject でも 構いません。その場合は、[ruby-core:28204] の Brian Ford に返事を してあげてもらえると助かります。 -- Yusuke ENDOH