鉴于此模块
module Test
def self.foo(v)
puts "Test.foo with #{v}"
end
end
以下不起作用
module Test
alias_method :bar, :foo
# ...
end
虽然它适用于例如方法。我收到以下错误
NameError: undefined method `foo' for module `Test'
我的目标是覆盖 self.foo ,如下所示
def self.foo(v)
self.bar(v + " monkey patched")
end
是否有别名静态方法?
谢谢,
答案 0 :(得分:2)
Test.singleton_class.send(:alias_method, :bar, :foo)
Test.bar("cat")
#=> "Test Foo with cat"