在figaro这个项目中看到 extend self
的用法.
module Util
extend self
def double(i)
i * 2
end
end
puts Util.double(4) #=> 8
module是不能实例化的,extend self
会把module的实例方法作为类方法暴露,self
在例子中是Util
,在Ruby中,Object.extend
方法使指定模块的实例方法成为接收者的
单键方法. 接收者是Class实例, 这些方法就成为类方法.
资料:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。