在Ruby 中,编写class Foo::Bar
和编写module Foo 有区别吗?类 Bar
用于命名空间?如果是,是什么?
最佳答案
如果你使用 class Foo::Bar
,但是 Foo
模块还没有被定义,一个异常将会被抛出,而 module Foo ;如果尚未定义,类 Bar
方法将定义 Foo
。
此外,使用 block 格式,您可以在以下范围内定义多个类:
module Foo
class Bar; end
class Baz; end
end
关于ruby - 使用 "::"而不是 "module ..."用于 Ruby 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927566/