From: EGUCHI Osamu Date: 2010-03-29T10:23:28+09:00 Subject: [ruby-dev:40822] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように えぐち@エスアンドイーです 2010年3月28日15:24 NARUSE, Yui : > (2010/03/27 21:46), EGUCHI Osamu wrote: >> 2010年3月27日21:01 NARUSE, Yui: >>> (2010/03/27 20:26), EGUCHI Osamu wrote: >>> 結局、制約の強いリテラルと、文字列を解釈するのでは条件が異なるわけで、 >>> 「Ruby のリテラルとして浮動小数点数として解釈されるならば、 >>> String#to_f でも解釈されるべき」は尊重されるべきだと思いますが、 >>> その逆は必ずしも成り立つ必要はないと思います。 >> それも踏まえて、、 >> Rubyリテラル表現としても使える表現形式を模索してからでも >> 遅くないように思えます。 > > 踏まえるとなぜRubyリテラル表現としても使える表現形式を模索することに > なるのかがよくわかりません。 > > 推測するに、前段とは独立に、よりよい形式が現れた際に今回の形式との互換性に > 縛られることを懸念しているのではないかと思います。 互換性、あるいは同じ用途に2つの形式が並立する事による混乱・・ですね。 また、リテラルにこだわりを持った背景としては、 「ワンライナーでも手軽に使いたい」 と言う意識が強いです。 実際、%a を知るために printf(1) で % printf "%a\n" 3.1425926536 0x1.924079dfee515p+1 % printf "%1.20e\n" 0x0.924079dfee515p+1 1.14259265359999995226e+00 と実際に試し理解が早まったからです。 「Ruby のメソッドが %a 形式を読み書き出来るようになること」 とは、必ずしも対立概念ではないので「リテラル表現の模索」とは 独立して考えるべきだろうと今は考えています。 2.0 でメソッドは引数なしでも () 必須になれば衝突は 回避出来るような気がしますが、深刻な互換性問題になりますね。  えぐち