在ruby中,::命名空间模块和类。 但我经常在类名的开头看到::如下所示:
#snippet of gollum gem
def page_class
@page_class ||
if superclass.respond_to?(:page_class)
superclass.page_class
else
::Gollum::Page
end
end
如果它在开始时代表什么?
答案 0 :(得分: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
打印
false
true