我在模块定义中看到一些使用extend self
的ruby模块。 extend self
在这里意味着什么?
答案 0 :(得分:2)
在该上下文中,extend self
将使所有实例方法可用作类方法。例如,在此模块中:
module A
def k
end
extend self
end
你可以做A.k
。这也是正确的:A.instance_methods #=> [:k]; A.methods.include? :k #=> true
请查看Ruby: extend self以获取更多信息。
答案 1 :(得分:1)
这意味着将其实例方法定义为其类/模块方法。