ruby eql?

来源:互联网 发布:黑马程序员培训 编辑:程序博客网 时间:2024/05/21 09:08

ary1 = [ ]

ary2 =[ ]

p ary1.object_id     #67653636

pary2.object_id      #67650432


equal? 方法判断两个对象是否是同一个对象(ID是否相同)

str1 = "foo"

str2 = str1

str3 = "f"+ "o"+ "o"

p str1.equal?(str2)   #=> true

p str1.equal?(str3)   #=> false


== 判断值是否相同

eql? 方法也用来判断值是否相等, == 和eql? 都是Object类定义的方法,大部分情况下一样,  但是数值类会重新定义eql?

p 1.0==1 # true

p 1.0.eql? (1)   #=>false


hash = {0=> "0"}

p hash[0.0] #=>nil

p hash [0]  #=>"0"




原创粉丝点击