Ruby extend self

更新于 2014-07-17  约 2 分钟

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实例, 这些方法就成为类方法.

资料:

阅读 2.3k更新于 2014-07-17

推荐阅读
lidashuang's note
用户专栏

Happy Hacking

11 人关注
63 篇文章
专栏主页
目录