我认为两者都用于命名空间。 模块通常混合成类,对吧?那么,在类中定义模块的目的是什么?
答案 0 :(得分:1)
一般来说,模块有两种用途:
类应该仅用于功能,即使Ruby没有强制执行它。
尝试做一些事情,但上面的内容(比如命名空间和功能的使用模块(1)或使用命名空间(2)的类)通常会让你感到困惑
(1)有些人不同意指向铁轨'模块,其实例方法也包含另一个模块,称为ClassMethods
。我认为如果有一个包含两个模块的模块会更加清晰 - ClassMethods
和InstanceMethods
。
(2)有些人不同意。一个可能有效的情况是,如果您尝试模拟其他语言的私有类(私有类将嵌套在您的公共类中)。