注意==、eql?()、equal?()的區別

 

==判断的是值;eql?()判断的是值以及类型;equal?()判断的是地址。

irb> 0==0
=> true
irb> 0==0.0
=> true
irb> "0"=="0"
=> true
irb> 0.eql?(0)
=> true
irb> 0.eql?(0.0)
=> false
irb> "0".eql?("0")
=> true
irb> 0.equal?(0)
=> true
irb> 0.equal?(0.0)
=> false
irb> "0".equal?("0")
=> false

 

你可能感兴趣的:(==)