【发布时间】:2015-09-23 02:34:36
【问题描述】:
我想将多个值附加到 ruby 哈希中的同一个键。一直在用
tags.merge!({'xyz': 'abc'})
向哈希添加新标签,但是一直无法找到将多个值添加到同一个键的方法。
例如:
tags = {'square': 'blue', 'rectangle': 'green, 'circle': 'yellow'}
我想为形状添加另一种颜色,使其看起来像:
tags = {'square': 'blue', 'rectangle': 'green, 'circle': ['yellow','red']}
我该怎么做?
【问题讨论】:
-
许多可能的解决方案。如果您 can 有多个条目,那么 always 将数组作为值可能是一个更好的主意。您可以通过将默认值设置为数组并将新值推送到其上来自动执行此操作。
-
谢谢戴夫。但是,没有内置函数可用于为键附加值吗?
-
不,没有内置函数可以做到这一点。哈希键只能引用一个值。这就是为什么总是从每个值的数组开始可能会有所帮助,如果值尚未设置,则初始化一个空数组。