这个双冒号是什么?例如,Foo::Bar
我找到了一个定义:
::是一个一元运算符,允许从类或模块之外的任何位置访问类或模块中定义的:常量、实例方法和类方法
如果您可以使用:公开任何内容,那么作用域(私有、受保护)有什么好处
:基本上是一个名称空间解析操作符。它允许您访问模块中的项,或类中的类级项。例如,假设您有以下设置:
模块SomeModule
模块内部模块
类MyClass
常数=4
终止
终止
终止
您可以作为SomeModule::InnerModule::MyClass::CONSTANT从模块外部访问CONSTANT
它不影响类上定义的实例方法,因为您可以使用不同的语法(点)访问这些实例方法
相关说明:如果要返回顶级名称空间,请执行以下操作:::SomeModule–Benjamin Oakes