如果我有一个Salad
带有方法的类chew
并且我在其中使用super
,它将调用沿chew
祖先链向上的下一个可用方法。如果我想“达到两个级别”(到第二个可用的chew
方法上链)怎么办?有没有办法在不添加super
第一个祖先的方法的情况下做到这一点?
为了更具体一点,假设这是我的Salad
类,有一个salad
对象:
class Salad < Food
include Almonds
include Gorgonzola
include Spinach
include Dressing
def chew
super
end
end
salad = Salad.new
祖先的数组将是这样的:
[Salad, Dressing, Spinach, Gorgonzola, Almonds, Food, Object, Kernel, BasicObject]
如果我想在不添加Dressing#chew 的情况下salad.chew
触发该chew
方法,这可能吗?有没有办法达到两个级别(以与 “达到”一个级别相同的方式)?Spinach
super
super