动态接收

在不定义接收类中的情况下处理消息。

也称为覆盖 method_missing 或 doesNotUnderstand

任何对象都有一组有限的为其定义的方法。对象的客户端可能会尝试调用接收器上未定义的方法。静态类型语言将在编译时发现这一点并报告编译错误。因此,您知道在运行时不会出现这种错误(除非您做一些巧妙的操作来绕过类型系统)。对于动态类型语言,您可以在运行时调用不存在的方法,这通常会导致运行时错误。

动态接收允许您调整此行为,这意味着您可以对未知消息做出不同的响应。

有关更多详细信息,请参阅 DSL 书籍第 41 章

DSL 目录