这种语法在功能上是否等效
def self.included(base)
base.class_eval do
extend ClassMethods
end
end
Run Code Online (Sandbox Code Playgroud)
这个?
def self.included(base)
base.extend ClassMethods
end
Run Code Online (Sandbox Code Playgroud)
小智 8
唯一相关的区别是只有类响应"class_eval",而类和实例都响应"extend".
如果您不打算将方法与对象实例一起使用,那么它们是等效的,尽管第二个实现可以用于将实例方法添加到特定实例,而第一个实现不能.
| 归档时间: |
|
| 查看次数: |
3273 次 |
| 最近记录: |