class MyClass
def method_missing(id,*args,&block)
return A if something
return B if something_else
super
end
end
如果既没有返回A也没有返回B,则调用super,这将引发NoMethodError。我想这里的超级是MyClass的超类。但是,NoMethodError是如何引发的,因为在这里我们只是调用super而不调用缺少的方法?
答案 0 :(得分:3)
你的假设是错误的。 super
不是MyClass
的超类。它是在MyClass
的超类上调用具有相同名称的方法。