gpt4 book ai didi

已定义方法的 Ruby 钩子(Hook)?

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

我一直在谷歌上搜索这个问题,但没能找到答案,这让我觉得答案是否定的,但我想我会在这里问一下,以防有人确切知道。

Ruby 是否有钩子(Hook)用于定义方法(即在模块或类上)?

如果不是,是否有人足够熟悉 main 对象的实现,知道当它们在顶层定义时,它是如何将方法精确地复制到 Object 的?

对这个很好奇。感谢您提供任何信息:)

最佳答案

确实如此。 模块#method_added https://ruby-doc.org/core-2.2.2/Module.html#method-i-method_added

module Thing
def self.method_added(method_name)
puts "Thing added #{method_name}"
end
def self.a_class_method; end
def do_something; end
end

class Person
def self.method_added(method_name)
puts "I added #{method_name}"
end
attr_accessor :name
end

Thing
Person.new

# Thing added do_something
# I added name
# I added name=

关于已定义方法的 Ruby 钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48352057/

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