应用程序中的一个类增长过快,我想以某种方式将它的方法分组。
其中一种方法可能是将Ruby类源代码拆分为多个文件。
Ruby有一种本机机制来完成这个任务,称为mixins,但是mixins只是一些可以链接到任何类的独立代码。因此,问题是:
使用包含实例范围的变量(例如,我的例子中的@socket )进行混合操作的缺点是什么?这些变量可以自由混合吗?
发布于 2014-06-05 13:55:21
因为ruby的变量不是声明的,而是隐式的,而且ruby作为一个整体是鸭类型的,所以类/模块假设有一个变量名@something是没有问题的,只要它存在,它就能正常工作。
因此,您的问题的答案是-是的,混合与共享实例变量自由工作。
https://stackoverflow.com/questions/24062086
复制相似问题