::
在Ruby中意味着什么?例如。 Foo::Bar
。
答案 0 :(得分:22)
当在方法调用中显式指定接收器时,可以使用句点(
.
)或两个冒号(::
)将其与方法名称分开。如果方法名称以大写字母开头,则会出现这两种形式之间的唯一区别。在这种情况下,Ruby将假定receiver::Thing
方法调用实际上是尝试访问接收器中名为Thing
的常量,除非方法调用在括号之间有参数列表。
答案 1 :(得分:9)
它被称为范围解析运算符。基本上是一种在命名空间中引用类的奇特方式。 ActiveRecord是名称空间,Base是类。
答案 2 :(得分:3)
它访问给定类或模块中的常量。例如。 ActiveRecord::Base
是模块Base
中定义的常量ActiveRecord
。