class 名称的哪一部分是模块?
Which part of the class name is a module?
在一个 rails 项目中,我有 class:
class Police::Office
end
现在我在同一个命名空间中创建一个交互器:
class Police::Office::ConstructInteractor
end
1.这是允许的还是会引起名称冲突?
2。 Police::Office::ConstructInteractor
是什么?
它是像这样的模块中的 class 吗:
module Police::Office
class ConstructInteractor
end
end
或 class 中的 class?
class Police::Office
class ConstructInteractor
end
end
谢谢
1. Is this allowed
当然可以。 类 允许包含常量。 (顺便说一句:您自己尝试一下只需要几秒钟。)
or can it provoke name clashes?
我不知道那是什么意思,但同样,您只需复制并粘贴您发布的代码并 运行 即可轻松自行测试。
2. What is Police::Office::ConstructInteractor
?
Is it a class in a module like:
module Police::Office
class ConstructInteractor
end
end
当然不是。您之前将 Police::Office
定义为 class,因此它显然是 class.
Or a class in a class?
class Police::Office
class ConstructInteractor
end
end
是的。但注意这是不是一个"class in a class"。这是 class 中的 常量 。在 Ruby 中,classes 不像在 Beta、gBeta、Newspeak 或 Scala 中那样嵌套(甚至不像在 Java 中那样)。常量 Police::Office::ConstructInteractor
引用的 class 和常量 Police::Office
.
引用的 class 之间没有任何关系
在一个 rails 项目中,我有 class:
class Police::Office
end
现在我在同一个命名空间中创建一个交互器:
class Police::Office::ConstructInteractor
end
1.这是允许的还是会引起名称冲突?
2。 Police::Office::ConstructInteractor
是什么?
它是像这样的模块中的 class 吗:
module Police::Office
class ConstructInteractor
end
end
或 class 中的 class?
class Police::Office
class ConstructInteractor
end
end
谢谢
1. Is this allowed
当然可以。 类 允许包含常量。 (顺便说一句:您自己尝试一下只需要几秒钟。)
or can it provoke name clashes?
我不知道那是什么意思,但同样,您只需复制并粘贴您发布的代码并 运行 即可轻松自行测试。
2. What is
Police::Office::ConstructInteractor
?Is it a class in a module like:
module Police::Office class ConstructInteractor end end
当然不是。您之前将 Police::Office
定义为 class,因此它显然是 class.
Or a class in a class?
class Police::Office class ConstructInteractor end end
是的。但注意这是不是一个"class in a class"。这是 class 中的 常量 。在 Ruby 中,classes 不像在 Beta、gBeta、Newspeak 或 Scala 中那样嵌套(甚至不像在 Java 中那样)。常量 Police::Office::ConstructInteractor
引用的 class 和常量 Police::Office
.