From: Yukihiro Matsumoto Date: 2008-05-26T23:50:39+09:00 Subject: [ruby-dev:34857] Re: 1.0.div(0.0) vs. 1.0.divmod(0.0) まつもと ゆきひろです In message "Re: [ruby-dev:34740] 1.0.div(0.0) vs. 1.0.divmod(0.0)" on Mon, 19 May 2008 04:34:29 +0900, "Akinori MUSHA" writes: | div と divmod の以下の挙動の相違は意図されたものでしょうか。 | |irb(main):001:0> 1.0.div(0.0) |FloatDomainError: Infinity | from (irb):1:in `div' | from (irb):1 | from /Users/knu/bin/irb-1.9:12:in `
' |irb(main):002:0> 1.0.divmod(0.0) |=> [NaN, NaN] |irb(main):003:0> RUBY_VERSION |=> "1.9.0" 1.9ではFloatの演算結果であるInfやNaNを隠さず見せるようにしま した。ので、これは意図したものです。が、divは基本的に整除です から、ZeroDivision でも良いのかもしれません。 | ruby_1_8 でも同じですが、 ruby_1_8_6 だと divmod も以下の |ように例外を上げます。 1.8では仕様は変わらない方がよいのではないでしょうか。