在ruby中,object.class ==和object.is_a之间的区别是什么?

时间:2015-11-06 19:58:16

标签: ruby class

在我的应用中,我会进行检查:object.class == Array。我在这里发布了关于.is_a?.kind_of?以及.instance_of?

之间区别的帖子

由于我认为.is_a?读取的内容比.class ==好,所以我改变了它,但发现其中一个是真的但另一个则不然。注意:这是在读取XML提要的上下文中。这是因为将XML隐式转换为数组吗?

1 个答案:

答案 0 :(得分:0)

在继承方面,至少有一个区别。这是一个例子:

class A;end
class B < A;end
b = B.new

b.is_a? A # => true
b.is_a? B # => true

b.class == A # => false
b.class == B # => true

b.instance_of? A # => false
b.instance_of? B # => true