在Ruby中的类名前加双冒号?

时间:2011-01-27 16:54:27

标签: ruby-on-rails ruby

我在类名之前看过Rails中使用双冒号。

例如:

require ::File.expand_path('../config/environment',  __FILE__)

我知道Module::Class::Constant的含义,但是::Class

1 个答案:

答案 0 :(得分:64)

这意味着您从顶级命名空间引用常量File。这在以下情况下有意义:

class MyClass #1
end

module MyNameSpace
  class MyClass #2
  end

  def foo # Creates an instance of MyClass #1
    ::MyClass.new # If I left out the ::, it would refer to
                  # MyNameSpace::MyClass instead.
  end
end
相关问题
最新问题