From: Tadayoshi Funaba Date: 2010-03-26T04:02:09+09:00 Subject: [ruby-dev:40764] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように > なぜ同じなのでしょう。 > 現在サポートしていないのは単に実装時期の問題だと思っているのですが。 同じというよりは、もっと低いですかね。 > Ruby のリテラルは C 言語由来と思われるので、 > これもやはり外しているとは思いません。 > それとも、先に Ruby リテラルにこの形式を入れるべきという主張ですか? それはよくわかりません。perl 経由のような気もします。仮に別にそうであっ ても、C に従わなければならないこともないでしょう。 2進数や8進数も含めてそれが有用だから16進もある、場合によってはリテラル もそうする、というなら Float() の仕様として個人的に納得できます。それは そうですが、そうすべきだという主張ではありません。 そうでないなら、lib/scanf.rb でいいと思います。 > Ruby の仕様・実装という意味でしたら、r2457 からするに、 > 「同じものを提供しようとした」ように見えます。 > ここで 16 進記法を解釈しなくなったのは、現状 "INF" や "NAN" なども > 解釈しないことを考えると、C89 の strtod が由来だからでしょうかね。 > この点はまつもとさんに確認を取ります。 権威主義者でもないし、C やまつもとさんに忠誠を誓っているわけでもないの で、別にそれで考えが変るわけじゃないんですよ。そりゃ、いろいろ言っても まつもとさんの考えで決るとは思いますが。 strtod(3) を参考にしたり、影響されたりすることは普通にあるとは思います が、strtod をこれ程までに尊敬している人は初めてです。