那個鍵我有一個數組哈希表中的紅寶石作爲值的數量合併的鍵值對:最好的方法在哈希基礎上使用Ruby
@people = { "a" => ["john", "mark", "tony"], "b"=> ["tom","tim"],
"c" =>["jane"], "others"=>["rob", "ryan"] }
我想合併所有鍵值對,其中對於特定的鍵值,數組中少於3個項目。他們應該合併到一個名爲「其他」的關鍵,給予大致的
@people = { "a" => ["john", "mark", "tony"],
"others"=> ["rob", "ryan", "tom", "tim", "jane"] }
結果使用下面的代碼是問題,因爲在哈希重複的鍵值就不能存在:
@people = Hash[@people.map{|k,v| v.count<3 ? ["others",v] : [k,v]} ] %>
最新最好的優雅地解決這個問題的方法?
首先感謝解決方案each_with_object運作良好,解決了它!非常感謝 – 2013-03-22 16:45:31
有趣的是,這項工作在開發中,但沒有投入生產時 - 任何想法? – 2013-03-23 17:29:36
你確定你在生產中有長度大於3的陣列嗎? – 2013-03-23 18:53:33