From: Tanaka Akira Date: 2010-03-29T10:50:39+09:00 Subject: [ruby-dev:40824] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように 2010年3月27日20:26 EGUCHI Osamu : > > リテラル表現には(そのままの)aA 表現は導入不可能という点には > 異論はないという共通認識を踏まえた上で。。 そうですかね? たしかに非互換ではありますが、不可能というほどでもない気がします。 0x1.badp+0 は Float のリテラルということにして、 Integer#badp を呼び出したければ (0x1).badp+0 と書けばいいわけですから、なにかが無理になるわけではありません。 解釈が変化するのは 16進整数リテラルに [a-f][0-9a-f]*p? というメソッドを呼んで いるケースですが、多いですかね? 指数部の p が必須ならさらに制限できるかな。 そういえば、現在でも 1 というメソッドは定義できますが、 0.1 というのは Float として解釈され、メソッド呼び出しにはならないですね。 % ruby -e ' class Integer define_method("1") { :hahaha } end p 0.1 p 0.send("1") ' 0.1 :hahaha -- [田中 哲][たなか あきら][Tanaka Akira]