::クラス名という記法


Rubyのソースで

`::クラス名`  
という記法を見ました。

形から名前空間関係かと思うのですが、何でしょうか？  
検索したいのですが、名称はありますか？




「::」から始まるクラス/モジュールは、トップレベルのクラス/モジュールを表します。

たとえば、Hoge クラス下に String というクラスがある場合、Hoge 内のメソッドから String を参照すると Hoge::String
になりますが、::String として参照するとトップレベルの String になります。

[code]

    class Hoge
      def initialize
        p String      #=> Hoge::String
        p ::String    #=> String
      end
      class String
      end
    end
    
    Hoge.new
    
[/code]

これに特別な名称があるかどうかは知りません。




「::」から始まるクラス/モジュールは、トップレベルのクラス/モジュールを表します。

たとえば、Hoge クラス下に String というクラスがある場合、Hoge 内のメソッドから String を参照すると Hoge::String
になりますが、::String として参照するとトップレベルの String になります。

[code]

    class Hoge
      def initialize
        p String      #=> Hoge::String
        p ::String    #=> String
      end
      class String
      end
    end
    
    Hoge.new
    
[/code]

これに特別な名称があるかどうかは知りません。

