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

Roh*_*ari 3 ruby module introspection

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

module A
  class Klass
  end
  class Klass1
  end
end
Run Code Online (Sandbox Code Playgroud)

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

Aru*_*hit 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] 
Run Code Online (Sandbox Code Playgroud)

好的帖子在递归中做同样的事情.