这就是全部,我想看看继承固定类的clases是什么。在RUBY中有一种方法吗?
Aptana提供了一个显示此选项的选项,但是有任何方法吗?
由于
答案 0 :(得分:23)
您是否要求查看班级的所有祖先或后代?对于祖先,请使用:
Class.ancestors
然而,对于后代,没有“开箱即用”的可比方法。您可以使用ObjectSpace,如下所示,但它很慢,并且可能无法跨Ruby实现移植:
ObjectSpace.each_object(Class) do |klass|
p klass if klass < StandardError
end
修改强>
还可以使用Class#inherited钩子来跟踪子类化。但是,这不会捕获在定义跟踪功能之前创建的任何子类,因此它可能不适合您的用例。但是,如果您需要以编程方式在应用程序中定义的类上使用该信息,那么这可能是最佳选择。
答案 1 :(得分:6)
示例:
class Foo
end
class Bar < Foo
end
Bar.ancestors # => [Bar, Foo, Object, Kernel]