我熟悉在另一个模块中嵌套类和模块的概念,并将它们分组到命名空间中。
背后的想法/目的是什么?将类嵌套在另一个类
中class A
class B
def method_B
...
end
end
end
将模块嵌套在另一个类
中class A
module c
def method_c
...
end
end
end
感谢, 灰
答案 0 :(得分:3)
类也是名称空间,所以它的想法是一样的。 Class是Module的子类,所以如果你在模块的上下文中得到它,你也可以在类的上下文中得到它。
答案 1 :(得分:1)
所有关于在暴露敏感语义的同时对相关问题进行分组。作为数字1的示例,HTTP :: Request(嵌入在更大的HTTP协议类中的请求类)与FTP :: Request完全不同。使用模块,它可以使用Behavior :: InstanceMethods和Behavior :: ClassMethods的常用ruby惯用法来处理mixins。