0
我有一個Mysql2::Result
,它有一堆行。結果在哈希格式爲這樣:嘗試遍歷散列,提取唯一鍵並添加值
{"thing_name" => "email", "count(*)" => 1000}
{"thing_name" => "email", "count(*)" => 800}
{"thing_name" => "ads", "count(*)" => 500}
{"thing_name" => "display", "count(*)" => 700}
我的目標是通過所有的這些迭代並創建具有每個關鍵之一,其計數與該鍵關聯的值之和的新的哈希。
我可以成功迭代並將「thing_name」放在數組中,並在其上運行.uniq
以將重複項合併爲一個條目,但我無法弄清楚如何關聯這些值並對它們進行適當的數學運算。或者如何做這個哈希。
這裏是我到目前爲止的代碼:
thing_type = results.collect {|row| row["thing_name"]}
thing_type = thing_type.uniq
任何幫助將非常感激。
非常感謝@robbrit!你能解釋一下迭代器的hash [key]部分嗎?那裏我有點困惑。 –
在那裏,希望這會有所幫助! – robbrit
打敗了我。我會用Hash.new(0)代替。目前每次找不到密鑰都會調用該塊。使用Hash.new(0)它將返回0. –