山本です。 Float#to_s の "Infinity" -> "Inf" は仕様に関わるので、 [ruby-dev:23857] のパッチだけ、下のテストと一緒に当ててしまおうと思います。 コミットは明日の正午を予定しています。問題がありましたら、よろしくお願いします。 ////////////////////////////// // パッチ後 irb(main):006:0> "Infinity".to_f => Infinity こちらは OK irb(main):007:0> Float("Infinity") ArgumentError: invalid value for Float(): "Infinity" from (irb):7:in `Float' from (irb):7 こちらでまだ問題が残る Index: test_float.rb =================================================================== RCS file: /var/cvs/src/ruby/test/ruby/test_float.rb,v retrieving revision 1.10 diff -u -w -b -p -r1.10 test_float.rb --- test_float.rb 15 May 2004 08:54:23 -0000 1.10 +++ test_float.rb 12 Jul 2004 08:02:47 -0000 @@ -67,6 +67,25 @@ class TestFloat < Test::Unit::TestCase assert(a != 0.0) a = Float("-0." + "00" * Float::DIG + "1") assert(a != 0.0) + ["NAN", "NaN", "nan"].each do |s| + a = Float(s) + assert(a.nan?) + a = Float("+" + s) + assert(a.nan?) + a = Float("-" + s) + assert(a.nan?) + end + ["INF", "Inf", "inf"].each do |s| + a = Float(s) + assert(a.infinite?) + assert(a > 0) + a = Float("+" + s) + assert(a.infinite?) + assert(a > 0) + a = Float("-" + s) + assert(a.infinite?) + assert(a < 0) + end # add expected behaviour here. end end