Ruby:获取扩展模块列表?

前端之家收集整理的这篇文章主要介绍了Ruby:获取扩展模块列表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当您将模块包含在类或其他模块中时,您可以调用
@mymod.included_modules

获取包含的模块列表.

是否有等同的列出模块扩展的模块?

module Feature1
end

module Feature2
  extend Feature1
end

Feature2.extended_modules #=> [Feature1]

解决方法

他们在那里,你只需要看正确的地方:
(class << Feature2; self end).included_modules   # [Feature1,Kernel]

我们可以这样推广:

class Module
  # Return any modules we +extend+
  def extended_modules
    (class << self; self end).included_modules
  end
end

# Now get those extended modules peculiar to Feature2
Feature2.extended_modules - Module.extended_modules # [Feature1]
原文链接:https://www.f2er.com/ruby/272279.html

猜你在找的Ruby相关文章