fly*_*r88 15 ruby hierarchy class-hierarchy
这就是全部,我想看看继承固定类的clases是什么.在RUBY中有一种方法吗?
Aptana提供了一个显示此选项的选项,但是有什么方法吗?
谢谢
Gre*_*ell 23
您是否要求查看班级的所有祖先或后代?对于祖先,使用:
Class.ancestors
Run Code Online (Sandbox Code Playgroud)
然而,对于后代而言,没有"开箱即用"的可比方法.您可以使用ObjectSpace,如下所示,但它很慢,并且可能无法跨Ruby实现移植:
ObjectSpace.each_object(Class) do |klass|
p klass if klass < StandardError
end
Run Code Online (Sandbox Code Playgroud)
编辑:
也可以使用Class#inherited hook来跟踪子类.但是,这不会捕获在定义跟踪功能之前创建的任何子类,因此它可能不适合您的用例.但是,如果您需要以编程方式在应用程序中定义的类上使用该信息,那么这可能是最佳选择.
例:
class Foo
end
class Bar < Foo
end
Bar.ancestors # => [Bar, Foo, Object, Kernel]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4158 次 |
最近记录: |