在定义一个传递所有参数的伪方法来完成这项工作时,这似乎更加出乎意料。那是下面的作品:
def method_missing(ago, *lokatoj, &bloko)
mistrafe(ago, *lokatoj, &bloko)
end
def mistrafe(ago, *lokatoj, &bloko)
# faru ion
end
以下内容没有
alias mistrafe method_missing
为什么会这样?
答案 0 :(得分:4)
通常来说,您希望method_missing
(由Ruby内部调用)成为mistrafe
的别名,反之亦然。您在mistrafe
中有一个实现,并且您想重新分配method_missing
来调用它。
也就是说,以下方法将起作用:
alias method_missing mistrafe