From: Tanaka Akira Date: 2010-03-29T12:07:59+09:00 Subject: [ruby-dev:40825] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように 2010年3月29日10:50 Tanaka Akira : > たしかに非互換ではありますが、不可能というほどでもない気がします。 > > 0x1.badp+0 は Float のリテラルということにして、 > Integer#badp を呼び出したければ > (0x1).badp+0 と書けばいいわけですから、なにかが無理になるわけではありません。 > > 解釈が変化するのは 16進整数リテラルに [a-f][0-9a-f]*p? というメソッドを呼んで > いるケースですが、多いですかね? > 指数部の p が必須ならさらに制限できるかな。 さらに考えると、このメソッドは当然 Integer に対して呼ばれるわけで、 現在のところ、そのようなメソッドは存在しないようです。 % ./ruby -e 'p Integer.instance_methods.grep(/\A[0-9a-fA-F_]*p?\z/)' [] とすると、非互換性が発生するのは、だれかが Integer にメソッドを追加して 使っていて、かつ、その名前が [a-f][0-9a-f]*p? というパターンに合致している場合 ということになります。 あんまり問題ない気がするなぁ。 -- [田中 哲][たなか あきら][Tanaka Akira]