列出Ruby中模块声明的所有类型

时间:2020-03-06 14:45:36  来源:igfitidea点击:

如何列出Ruby中模块声明的所有类型?

解决方案

使用模块模块中定义的常量方法。从Ruby文档中:

Module.constants => array
  
  Returns an array of the names of all
  constants defined in the system. This
  list includes the names of all modules
  and classes.
  
  p Module.constants.sort[1..5]
  
  produces:
  
  ["ARGV", "ArgumentError", "Array",
  "Bignum", "Binding"]

我们可以在任何需要的模块或者类上调用常量。

p Class.constants

不确定这是否是意思,但是我们可以通过执行以下操作来获取模块中定义的所有常量和类的名称的数组:

ModuleName.constants