哪个是更新哈希中散列的最佳方法?

时间:2014-12-04 11:57:45

标签: ruby-on-rails ruby hash

是否有更好的方法来更新哈希中哈希值?

例如:

result_hash = {
   id: queue[:id],
   status:
   {
     added: 0, 
     updated: 0,
     rejected: 0
   }
}

我使用了以下两行中的一行:

result_hash[:status][:updated] += 1
result_hash[:status][:added] += 1

但请阅读hash.update。当我尝试它时,只更新了第一个值“:added”。

是否有其他选择或有人可以解释如何在我的案例中使用hash.update

1 个答案:

答案 0 :(得分:2)

这是一种可以使用update来完成相同任务的方法:

result_hash[:status].update({
  added: result_hash[:status][:added] + 1,
  updated: result_hash[:status][:updated] + 1,
})

但是,我认为update在这种情况下无益,我发现现有代码更清晰,更易读。