我正在尝试在类中为mixin扩展模块方法。
这是我的代码:
module Mod_1
def bar
puts "xxx"
end
end
class Class_A
include Mod_1
def bar
super
puts "yyy"
end
end
test = Class_A.new
test.bar
我能想到的最佳方式是:
module Mod_1
def Mod_1.foo
puts "aaa"
end
end
class Class_A
include Mod_1
def foo
Mod_1.foo
puts "bbb"
end
end
test = Class_A.new
test.foo
我有更好的方法吗?
答案 0 :(得分:1)
见下文:
module Bar
def foo
puts "first"
end
end
class Class_A
include Bar
alias old_foo foo
def foo
old_foo
puts "second"
end
end
Class_A.new.bar
返回:
"first"
"second"
这使用别名。我建议特别为你想要的东西查找它们。