gpt4 book ai didi

ruby - 如何覆盖模块的单例方法?

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

给定一个带有如下单例方法的模块:

module Foo
class << self
def bar
puts "method bar from Foo"
end
end
end

如何使用另一个模块覆盖 Foo.bar

最佳答案

这段代码

module Foo
class << self
def bar
puts "method bar from Foo"
end
end
end

等于

class << Foo
def bar
puts "method bar from Foo"
end
end

也等于

def Foo.bar
puts "method bar from Foo"
end

因此,您可以在定义了 Foo 的任何地方调用它来重新定义此方法(任何其他模块,不包括 Foo)。

关于ruby - 如何覆盖模块的单例方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615632/

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