所以,我可以这样( A ):
module A
class B
end
end
我也可以( B ):
class A::B
end
为什么我会使用 A 而不是 B ,反之亦然?
答案 0 :(得分:1)
因为在选项 B 模块A必须已定义。此选项还存在一些其他问题。您可以在http://techblog.thescore.com/how-you-nest-modules-matters-in-ruby/
了解更多相关信息答案 1 :(得分:1)
当你第一次定义第二个选项保存缩进并且更紧凑,当您想要简明地写一些内容并且独立于A::B
时,你必须选择第一个选项。否则,A::B
中的其他内容时,这非常有用。