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」,而類和實例都響應「擴展」。
如果您不打算在對象實例中使用您的方法,那麼它們是等價的,但第二個實現可用於將實例方法添加到特定實例,而第一個實例不能。