这篇文章描述了我认为是Ruby内置的Struct类的主要缺陷,并提出了一种解决方法。
这篇博客文章很好地解释了将Struct用于价值对象的好处。
这是我对Struct的抱怨:尽管Struct中的字段是命名的(不同于数组或Python的tuple ),但是在实例化Struct对象时不允许使用named / keyword参数。
这就打败了首先指定字段的目的! 命名字段的好处是它们将含义附加到您的数据上。 Birthday.new(day: 5, month: 7)无疑比Birthday.new(5, 7)更清晰。
要解决此问题,我一直在使用Struct所有项目中添加以下类:
如果您不想重复自己的话,它也可以作为宝石使用。
From: https://hackernoon.com/namedstruct-improving-rubys-struct-51c8b2470365
6608

被折叠的 条评论
为什么被折叠?



