我正在阅读“Well Grounded Rubyist”一书,我对方法查找路径有疑问:
module M
def report
puts "'report' method in module M"
end
end
module N
def report
puts "'report' method in module N"
end
end
class C
include M
include N
def report
puts "'report' method in class C"
puts "About to call super..."
super
puts "Back from super..."
end
end
obj = C.new
obj.report
根据我的理解,obj.report 会输出:
'report' method in class C
About to call super...
'report' method in module N
Back from super...
但是,我很好奇是否可以通过在类 C 中绕过 N 的报告来调用 M 的报告方法。我知道如果我在模块 N 中添加“super”,它将调用 N 的报告,然后是 M 的报告,然后再放入“从超级回来......”但是有没有办法直接从 C 中做到这一点?