【发布时间】:2014-05-15 16:09:23
【问题描述】:
我有一个哈希值,其中的值都是数组。我想在这个哈希中查找一个键。如果它存在,我想向数组添加一个值。如果它不存在(hash[key] 返回 nil),那么我需要创建数组并添加一个值。目前我有这个:
hash[key].push elem unless hash[key].nul?
hash[key] ||= [elem]
这涉及 3 次查找。我是 ruby 新手,所以我确信有更好的方法来做到这一点。这是什么?
我最初的计划是为哈希 [ ] 设置默认值。然后我可以使用:
hash[key].push elem
不幸的是,如果键不存在,那只会更改默认值,不会添加新键。
【问题讨论】: