From: Yukihiro Matsumoto Date: 2008-04-30T22:53:51+09:00 Subject: [ruby-dev:34544] Re: 0**-1 == 0 ? まつもと ゆきひろです In message "Re: [ruby-dev:34543] Re: 0**-1 == 0 ?" on Wed, 30 Apr 2008 21:26:05 +0900, SASADA Koichi writes: |Yukihiro Matsumoto wrote: |> 14005 ko1 assert_equal(0**-1 == 0, false) |> |> というテストが加えられていますが、0**-1って本当にゼロなんでしょ |> うか? 手元の処理系で0になるものはないようですが。 | | 0 ** -1 == 0 は false、というテストのようです。今 1.9 で試したら | |./ruby -ve 'p 0**-1' |ruby 1.9.0 (2008-04-27 revision 0) [i686-linux] |Rational(1, 0) | |となりました。Rational は意外だった。 いずれにしても、0 ** -1 が「0でない値を持つ」は自明ではない のでテストから削りませんか? あるいは「Rubyではどうあるべき か」を議論してテストを書き換えるか。