'hello'.class == String # => true
'hello'.class === String # => false
'hello'.class.equal? String # => true
据我所知,equal?
方法有最严格的比较测试。有人可以解释为什么===
会在false
返回equal?
时返回true
吗?
答案 0 :(得分:1)
类的===
如果定义为'是'的类'(包括层次结构中的类)。例如:
String === 'foo' # => true
Class === String # => true
'bar'.class === 'baz' # => true
class A; end
class B < A; end
A === B.new # => true