如果我有一个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方法,这可能吗?有没有办法达到两个级别(以与 “达到”一个级别相同的方式)?Spinachsupersuper