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

NamedStruct —改进Ruby的结构
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

相关文章:

  • 2021-07-19
  • 2021-05-06
  • 2021-08-17
  • 2021-04-11
  • 2022-12-23
  • 2022-03-04
  • 2021-11-24
  • 2022-12-23
猜你喜欢
  • 2022-02-09
  • 2021-11-28
  • 2022-12-23
  • 2022-03-01
  • 2022-12-23
  • 2021-12-09
  • 2021-12-20
相关资源
相似解决方案