论坛首页 编程语言技术论坛

给各位初学者分享一下Ruby的一个小细节。

浏览 2323 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-13  
注意,我不是用"==",也不是"eql?"哦。而是"equal?"。

i1 = 1000000000 #9个零
i2 = 1000000000 #9个零
if i1.equal?(i2)  
  puts 'i1 and i2 is the same object.'  
else  
  puts 'i1 and i2 is not the same object.'  
end
i1 = 10000000000 #10个零
i2 = 10000000000 #10个零
if i1.equal?(i2)  
  puts 'i1 and i2 is the same object.'  
else  
  puts 'i1 and i2 is not the same object.'  
end

#输出
#i1 and i2 is the same object.
#i1 and i2 is not the same object.
   发表时间:2009-03-14  
因为大到一定程度时,Fixnum自动变成Bignum。
Fixnum是直接量,Bignum是比较完整的object了。
不过,两者都不能用dup。
0 请登录后投票
   发表时间:2009-03-14  
嗯,界线在此:
1073741823.class
#=> Fixnum
1073741824.class
#=> Bignum
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics