Quelle est la plus rapide/moyen d'une doublure pour convertir un tableau comme celui-ci:Le moyen le plus rapide/à une ligne de collecter des doublons dans Ruby Array?
[1, 1, 1, 1, 2, 2, 3, 5, 5, 5, 8, 13, 21, 21, 21]
... dans un tableau d'objets comme celui-ci:
[{1 => 4}, {2 => 2}, {3 => 1}, {5 => 3}, {8 => 1}, {13 => 1}, {21 => 3}]
sympa, c'est tout! Merci. –
Vous pouvez le nettoyer un peu en utilisant un Hash avec une valeur par défaut: 'array.inject (Hash.new (0)) {| h, v | h [v] + = 1; h} .map {| k, v | {k => v}} ' – rampion
Et pour le trier (comme dans l'exemple de question), ajoutez' .sort_by {| o | o.keys [0]} 'à lui. * Maintenant * c'est en désordre. :) –