From: wanabe Date: 2008-06-10T09:42:57+09:00 Subject: [ruby-dev:35027] Re: Float("0.") ワナベと申します。 2008/06/09 15:51 Tanaka Akira : > Kazuhiro NISHIYAMA writes: > >> Float("0.")がArgumentErrorから0.0を返すように変わったのは >> 意図した仕様変更でしょうか? > > [ruby-dev:34835] を書いたときに調べた結果としては、strtod を > 変えたことによる副作用なのではないかと思っています。 [ruby-dev:29036] を参考にさせて頂くと、こんな感じでしょうか。 試したのは 1.9 です。 Index: util.c =================================================================== --- util.c (revision 17065) +++ util.c (working copy) @@ -2263,6 +2263,8 @@ } #endif if (c == '.') { + if (!ISDIGIT(s[1])) + goto dig_done; c = *++s; if (!nd) { for (; c == '0'; c = *++s) -- ワナベ