你如何确定一个类的嵌套类?

时间:2010-08-24 11:19:53

标签: ruby metaprogramming

在Ruby中,如何确定类的嵌套类?

1 个答案:

答案 0 :(得分:2)

假设您的意思是以下意义上的嵌套类:

class A
    class B; end
    class C; end
end

B C Aclass Class def nested_classes constants.collect { |c| const_get(c) }. select { |m| m.instance_of?(Class) } end end A.nested_classes => [A::B, A::C] 内嵌套',以下内容应该有效:

{{1}}

编辑:您可能需要使用常量(false)来防止在继承链上继续查找模块。