From: Nobuyoshi Nakada Date: 2008-05-02T16:50:09+09:00 Subject: [ruby-dev:34575] Re: [ruby-cvs:23495] Ruby:r16255 (ruby_1_8, trunk): * range.c (range_step): allow float step bigger than zero but less なかだです。 At Fri, 2 May 2008 15:26:32 +0900, Nobuyoshi Nakada wrote in [ruby-dev:34573]: > At Fri, 2 May 2008 14:47:44 +0900, > Tanaka Akira wrote in [ruby-dev:34571]: > > 症状が変化していないように思います。 > > > > % ./ruby -ve '(0..10).step(0.9) {|x| p x }' > > ruby 1.9.0 (2008-05-02 revision 16265) [i686-linux] > > -e:1:in `step': step can't be 0 (ArgumentError) > > from -e:1:in `
' > > r16268で、0.9.to_intを呼ぶようにしてしまったからですね。 > これはどこで区別するべきかなぁ。 r16269で通るようになったようですが、今度は[ruby-dev:34558]がちょっ と違う形で復活しています。 $ ./ruby -ve 'o=Object.new; def o.to_int() 1 end; (0..4).step(o) {|v| p v }' ruby 1.9.0 (2008-05-02 revision 16269) [i686-linux] -e:1:in `step': undefined method `<' for # (NoMethodError) from -e:1:in `
' なかなか悩ましいですねぇ。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦