Ruby类的下面声明/定义中遵循的格式/语法是什么?我不明白类名中使用的冒号(:).这表明了什么?
class ::Chef::Recipe
include ::Opscode::ChefClient::Helpers
end
Run Code Online (Sandbox Code Playgroud)
这是从这里:
我熟悉以下定义Ruby类的方法:
class ClassName
CONSTANT = Z
....methods...
end
Run Code Online (Sandbox Code Playgroud)
而且我知道一个常量被称为ClassName::Z,但上面的声明方式对我来说是新的,我在哪里找到声明像这样的ruby类的文档.
initial ::表示"即使我们可能在词或模块中有词法,也可以从顶级命名空间定义这个新类".当你在常量名称的开头使用它时,即使你在另一个模块或类范围内,你所引用(或创建)的常量不在该范围内,而是在顶层(这些常量)可以通过印刷列出Object.constants)
请注意,"<"(对于超类)后面的文本可以是返回Class对象的任何表达式(在编译时计算).您甚至可以使用函数返回超类.
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |