Ruby:模块A与类A :: B

时间:2015-04-28 21:20:13

标签: ruby

所以,我可以这样( A ):

module A
    class B
    end
end

我也可以( B ):

class A::B
end

为什么我会使用 A 而不是 B ,反之亦然?

2 个答案:

答案 0 :(得分:1)

因为在选项 B 模块A必须已定义。此选项还存在一些其他问题。您可以在http://techblog.thescore.com/how-you-nest-modules-matters-in-ruby/

了解更多相关信息

答案 1 :(得分:1)

当你第一次定义A::B时,你必须选择第一个选项。否则,第二个选项保存缩进并且更紧凑,当您想要简明地写一些内容并且独立于A::B中的其他内容时,这非常有用。