在ruby-doc,它说,<Fixnum> ** <Numeric>
可能是分数,并给出了例子:在Fixnum对象类型转换** Fixnum对象
2 ** -1 #=> 0.5
2 ** 0.5 #=> 1.4142135623731
,但在我的IRB,它有时会给出一个答案Rational
与下面的指数-1
:
2 ** -1 #=> (1/2)
2 ** 0.5 #=> 1.4142135623731
它看起来像红宝石文档是不准确的,与红宝石尝试类型转换为Rational
如果可能的话,但我不能完全肯定。当基数和指数均为Fixnum
时,这里的确切类型铸造规则是什么?我对Ruby 1.9.3特别感兴趣,但不同版本的结果是不同的?
,你可以阅读源,看看youself ... – DGM 2012-01-01 04:39:02
你看看源? – 2012-01-01 04:42:10
我不习惯Ruby的C部分。 – sawa 2012-01-01 04:52:26