应用程序中的一个类增长太多了,我想以某种方式对它进行分组。
其中一种方法是将Ruby类源拆分为多个文件。
Ruby有一个本机机制来做这个叫做mixins,但是mixins只是一些可以链接到任何类的孤立代码。因此,这是一个问题:
使用mixins和实例范围的变量(例如我的情况下为@socket
)有什么缺点? mixin可以自由地使用这些变量吗?
答案 0 :(得分:1)
由于ruby的变量没有声明,但是是隐式的,并且ruby作为一个整体是鸭子型的,所以假设的类/模块没有问题变量名@something
,只要它在那里就可以正常工作。
所以问题的答案是 - 是的,mixins可以自由地使用共享实例变量。