gpt4 book ai didi

ruby - 如何找到包含模块的模块或类?

转载 作者:数据小太阳 更新时间:2023-10-29 09:00:21 25 4
gpt4 key购买 nike

有一个很好的技巧可以帮助找到继承的子类:

class SubClasses

@@subclasses ||= []

def self.inherited subclass
@@subclasses << subclass
end

def self.subclasses
@@subclasses
end
end

此外,我发现使用 Foo.included_modules 查找包含在子类中的模块很有用。

但它在 Module 上不可用。我如何获取包含该模块的所有类?可能吗?

更新

解决了!

Getting a list of classes that include a module

最佳答案

要监视模块何时包含在另一个模块或类中,请使用 included Hook :

module Parent
class << self
attr_reader :includers
end

def self.included(base)
@includers ||= []
@includers << base.name
end
end

关于ruby - 如何找到包含模块的模块或类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37126999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com