Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我看到了这行代码。
class ClassName < ::TestUnit::Test::Etc
当嵌套常量标记跟在继承符号之后是什么意思,像这样:< ::SuperClass?
< ::SuperClass
::此外,该符号是否有技术名称?
::
::是范围解析运算符。它的意思是“在这个模块中查找以下常量名”。如果省略模块,则假定为Object. 因此,除了封闭模块可以定义自己的::Foo常量之外,基本相同,在这种情况下,第二种形式会在其中查找,而不是您期望的那种。Object::Foo ObjectFoo Object
Object
::Foo
Object::Foo
Foo
注意,::也可以作为消息发送操作符,即方式同.:foo::bar同foo.bar。但是,强烈建议不要使用这种用法。
.
foo::bar
foo.bar