18750


Rubyのソースで

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

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


CC BY-SA 3.0
2015-11-12T14:24:51.777
18749
2015-11-12T20:30:19.257
2015-11-12T20:30:19.257
754
9008
question
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]

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


CC BY-SA 3.0
2015-11-12T14:41:42.747
18750
2015-11-12T14:41:42.747
3249
18749
answer