我想测试一个类是否从另一个类继承,但是似乎不存在用于该类的方法。
class A
end
class B < A
end
B.is_a? A 
=> false
B.superclass == A
=> true
我想要的一个简单实现是:
class Class
  def is_subclass_of?(clazz)
    return true if superclass == clazz
    return false if self == Object
    superclass.is_subclass_of?(clazz)
  end
end
但我希望这已经存在。
                  怎么样
                
                  
                    —
                    akostadinov 2014年
                    
                  
                
              kind_of?
                kind_of?测试对象是否是类的实例。不是对象是否从类继承。
                kind_of?是is_a?
                
A.class #=> Class。这就是为什么B.is_a? A返回false的原因。