Ho un array di hash in Ruby che assomiglia a questo:Conteggio valori hash in Ruby
domains = [
{ "country" => "Germany"},
{"country" => "United Kingdom"},
{"country" => "Hungary"},
{"country" => "United States"},
{"country" => "France"},
{"country" => "Germany"},
{"country" => "Slovakia"},
{"country" => "Hungary"},
{"country" => "United States"},
{"country" => "Norway"},
{"country" => "Germany"},
{"country" => "United Kingdom"},
{"country" => "Hungary"},
{"country" => "United States"},
{"country" => "Norway"}
]
Da questo array di hash Voglio creare un nuovo hash simile a questa:
counted = {
"Germany" => "3",
"United Kingdom" => "United Kingdom",
"Hungary" => "3",
"United States" => "4",
"France" => "1"
}
C'è un modo semplice per farlo usando Ruby 1.9?
questo hash è collisione chiavi. – Kyle
Questo hash non sembra che tu lo voglia. Ci può essere solo una voce con una data chiave in un hash, quindi avrai solo una voce (penso sia garantita "" country "=>" Norvegia "'. Vorresti una risposta per un array? – Chowlett
Accanto il problema con il tuo hash sorgente. Ti aspetti '" Regno Unito "=>" Regno Unito "' o '" Regno Unito "=> 2'? – knut