ruby-docでは、それは<Fixnum> ** <Numeric>
分数である可能性があると述べており、例を示しています。
2 ** -1 #=> 0.5
2 ** 0.5 #=> 1.4142135623731
しかし、私のirbでは、以下Rational
の指数のように答えが返されることがあります。-1
2 ** -1 #=> (1/2)
2 ** 0.5 #=> 1.4142135623731
ruby-docは正確ではないようで、rubyはRational
可能な場合はキャストを型変換しようとしますが、完全にはわかりません。底と指数の両方が両方である場合、ここでの正確な型キャスト規則は何Fixnum
ですか?特にRuby1.9.3に興味がありますが、バージョンによって結果が異なりますか?