在ruby中,当某些特定的事件发生时,将调用回调方法和钩子方法.事件有如下几种: 调用一个不存在的对象方法 类混含一个模块 定义类的子类 给类添加一个实例方法 给对象添加一个单例方法 引用一个不存在的常量 对以上的事件,都可以为之编写一个回调方法,当该事件发生时,这个回调方法被执行.这些回调方法是针对某个对象,或者某个类的,而不是全局的. 下面给出一些例子: 1 Method_missing拦截不能识别的消息 在前面说过,根据对象模型来进行方法查找,如果没有找到,会抛出一个NoMethodErr…