Ruby 中的模块 module class 与 module module::class
之间有什么区别
module MyModule
module MySubModule
class MySubModuleClass
...
end
end
end
Ruby 中和
module MyModule
class MySubModule::MySubModuleClass
...
end
end
?
What is the difference between
module MyModule
module MySubModule
class MySubModuleClass
...
end
end
end
and
module MyModule
class MySubModule::MySubModuleClass
...
end
end
in Ruby?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除非“MySubModule”已在其他地方定义,否则第二种情况将不起作用...
第二种情况不是“MySubModule”的正确定义,如果您没有在其他地方定义该 MySubModule,则会导致错误
the second case will not work unless "MySubModule" is already defined elsewhere...
the second case is not a proper definition of "MySubModule" and will cause an error if you didn't define that MySubModule elsewhere
在第二个示例中,您定义一个
class
,第一个示例是一个module
,并且您不能使用语法MySubModule::MySubModuleClass
如果MySubModule
不存在。所以你必须先定义它。On the second example you are defining a
class
, in the first is amodule
, and you can't use the syntaxMySubModule::MySubModuleClass
ifMySubModule
does not exist. So you have to have it defined before.