NamedStruct —改进 Ruby 的结构

NamedStruct —改进 Ruby 的结构

原文:https://medium.com/hackernoon/namedstruct-improving-rubys-struct-51c8b2470365

这篇文章描述了我认为 Ruby 内置的 Struct 类中的一个主要缺陷,并提出了一个解决方法。

Documentation for Ruby’s built-in Struct class

这篇博文很好地解释了对值对象使用 Struct 的好处。

下面是我对 Struct 的抱怨:虽然 Struct 中的字段是命名的(不像数组,或者 Python 的 tuple ),但是在实例化 Struct 对象时,不允许使用命名/关键字参数。

这违背了命名字段的初衷!拥有命名字段的好处是它们赋予数据意义。Birthday.new(day: 5, month: 7)无疑比Birthday.new(5, 7)更清晰。

为了解决这个问题,我在所有使用Struct的项目中添加了下面的类:

如果你不想重复,这也可以作为宝石使用。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除