What does :: (double colon) mean in Ruby?

This question already has an answer here:

  • What is Ruby's double-colon `::`? 9 answers

  • From the Pickaxe:

    When a receiver is explicitly specified in a method invocation, it may be separated from the method name using either a period ( . ) or two colons ( :: ). The only difference between these two forms occurs if the method name starts with an uppercase letter. In this case, Ruby will assume that a receiver::Thing method call is actually an attempt to access a constant called Thing in the receiver unless the method invocation has a parameter list between parentheses.


    It's called a scope resolution operator. Basically a fancy way of referencing a class within a namespace. ActiveRecord is the namespace and Base is the class.


    It accesses constants in a given class or module. Eg ActiveRecord::Base is the constant Base defined in the module ActiveRecord .

    链接地址: http://www.djcxy.com/p/59150.html

    上一篇: :: MyClass Ruby scope operator是做什么的?

    下一篇: 在Ruby中什么是::(双冒号)?