9
这句法功能上等同base.extend与base.class_eval扩展
def self.included(base)
base.class_eval do
extend ClassMethods
end
end
这样做呢?
def self.included(base)
base.extend ClassMethods
end
这句法功能上等同base.extend与base.class_eval扩展
def self.included(base)
base.class_eval do
extend ClassMethods
end
end
这样做呢?
def self.included(base)
base.extend ClassMethods
end
唯一相关的区别是只有类响应“class_eval”,而类和实例都响应“扩展”。
如果您不打算在对象实例中使用您的方法,那么它们是等价的,但第二个实现可用于将实例方法添加到特定实例,而第一个实例不能。