gpt4 book ai didi

ruby - 回调模块中定义的类

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:54 26 4
gpt4 key购买 nike

Ruby 已经有几个 built-in callbacks .这种情况有回调吗?有点像 method_added,但用于模块内的类(或常量),而不是类内的实例方法。

最佳答案

据我所知,没有什么与您描述的完全一样。但是,您可以使用 Class::inherited 创建自己的类。

module MyModule
def self.class_added(klass)
# ... handle it
end
class ::Class
alias_method :old_inherited, :inherited
def inherited(subclass)
MyModule.class_added(subclass) if /^MyModule::\w+/.match subclass.name
old_inherited(subclass)
end
end
end

module MyModule
# now add classes
end

关于ruby - 回调模块中定义的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4191214/

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