Aut*_*act 5 ruby namespaces module class
在ruby中,::命名空间模块和类.但我经常看到::在类名的开头,如下所示:
#snippet of gollum gem
def page_class
@page_class ||
if superclass.respond_to?(:page_class)
superclass.page_class
else
::Gollum::Page
end
end
Run Code Online (Sandbox Code Playgroud)
那个::在它的开头是什么意思?
ein*_*nus 16
它是针对全球范围而不是本地范围来解决的.
class A
def self.global?
true
end
end
module B
class A
def self.global?
false
end
end
def self.a
puts A.global?
puts ::A.global?
end
end
B::a
Run Code Online (Sandbox Code Playgroud)
版画
false
true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1737 次 |
最近记录: |