作者:LF龙丰通讯 | 来源:互联网 | 2023-01-09 19:40
在Ruby教程中,当你输入一个数字时,我正在看.class
它返回Bignum
或者Fixnum
.
当我这样做时,我得到了Integer
:
12345.class
#=> Integer
我在mac上的命令行中使用irb.为什么以上不会Fixnum
像在教程中那样返回?
1> Ursus..:
这取决于Ruby版本.从Ruby 2.4.0我们只有Integer
s,没有Fixnum
s和Bignum
s的区别
https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/
另请注意,在pre-ruby 2.4中,类"Fixnum"和"Bignum"都从类"Integer"继承**.因此,代码:`12345.is_a?(Integer)`将始终返回所有ruby版本的`true`.