获取模块ruby中定义的所有类

时间:2014-06-17 15:12:00

标签: ruby module introspection

是否可以知道ruby中模块内定义的所有类。

module A
  class Klass
  end
  class Klass1
  end
end

是否有任何ruby内省方法来获取模块A中定义的所有类?

1 个答案:

答案 0 :(得分:9)

这是一种方式

module A
  class Klass
  end
  X = 10
  module B;end
end

# Just to list the class(s) defined inside A
A.constants.select { |k| A.const_get(k).instance_of? Class } # => [:Klass] 

recursively中也可以使用相同的帖子。