我键入以下内容:
>> x.inspect
"\"53219847091d6601dd000004\""
>> "53219847091d6601dd000004".inspect
"\"53219847091d6601dd000004\""
>> "53219847091d6601dd000004"==x
false
它们是相同的,为什么它们彼此不相等?
答案 0 :(得分:2)
inspect
返回对象的字符串表示形式,其实现取决于类:
class Foo
def inspect
"I'm Foo"
end
end
class Bar
def inspect
"I'm Foo"
end
end
foo = Foo.new
bar = Bar.new
foo.inspect
#=> "I'm Foo"
bar.inspect
#=> "I'm Foo"
foo
和bar
具有相同的inspect
值,但它们不相等:
foo == bar
#=> false
事实上,它们是完全不同的对象:
foo.class #=> Foo
bar.class #=> Bar