动态接收
在不定义接收类中的情况下处理消息。
也称为覆盖 method_missing 或 doesNotUnderstand
任何对象都有一组有限的为其定义的方法。对象的客户端可能会尝试调用接收器上未定义的方法。静态类型语言将在编译时发现这一点并报告编译错误。因此,您知道在运行时不会出现这种错误(除非您做一些巧妙的操作来绕过类型系统)。对于动态类型语言,您可以在运行时调用不存在的方法,这通常会导致运行时错误。
动态接收允许您调整此行为,这意味着您可以对未知消息做出不同的响应。
有关更多详细信息,请参阅 DSL 书籍 的第 41 章。