什么情况下File::Stat
可以在类名中使用双冒号?它有什么特殊含义吗?
问问题
89 次
3 回答
2
它只是意味着另一个类或模块内部的类。
module Foo
class Bar
end
end
您不能像那样引用 Bar 类,您必须使用它的完全限定名称,Foo::Bar
(其他模块中可能还有其他 Bar 类,因此您必须能够区分它们)。
于 2012-04-22T15:48:10.380 回答
0
双冒号表示模块。很多时候类名可能会发生冲突,因此人们创建了一个新模块。
例如...ActiveRecord::Base
于 2012-04-22T15:50:41.927 回答
0
双冒号用于在类或模块中获取 CONSTANT(所有大写的对象都是常量,例如 VALUE_CONSTANT 和 ClassName)。这是继承自 C++ 命名空间概念的约定。
所以这里的约定列表:
Module/Class::CONSTANT
Module/Class::Class
Module/Class.method
于 2012-04-22T15:52:48.637 回答