Ho un hash in cui voglio usare i valori come chiavi in un nuovo hash che contiene un conteggio di quante volte quell'elemento è apparso come un valore nell'hash originale.Ruby "count" metodo per hash
Quindi io uso:
hashA.keys.each do |i|
puts hashA[i]
end
uscita Esempio:
0
1
1
2
0
1
1
E voglio il nuovo hash per essere il seguente:
{ 0 => 2, 1 => 4, 2 => 1 }
possibile duplicato di [Come contare gli elementi di stringa identici in un array di Ruby] (http://stackoverflow.com/questions/5128200/how-to-count-identical-string-elements-in-a-ruby -array). La struttura dei dati originale in questa domanda è un hash, ma stai buttando via le chiavi, quindi ti occuperai in modo efficace di 'hashA.values', che è un array. –
@AndrewGrimm Meh; alla fine (e rapidamente), sì ... Ma quando si cerca con una mentalità "Ho una mappa" probabilmente non cercherete cose sugli array. –