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

获取ruby模块中定义的所有类,ruby,module,introspection,Ruby,Module,Introspection,可以知道ruby中模块内定义的所有类吗 module A class Klass end class Klass1 end end 是否有任何ruby内省方法来获取模块A中定义的所有类?这里有一种方法 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(

可以知道ruby中模块内定义的所有类吗

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

这里有一种方法

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] 

这篇文章也很不错。

@Max你是对的。的实例一开始就出现在脑海中。所以我用了它…-)谢谢你,伙计。您为我节省了很多时间,而且还不能处理尚未加载的模块/类等。@Dennis这是另一个问题域。Ruby中的持续加载。@ArupRakshit因为这显然是一个依赖项,所以值得注意。