Quelle est la "Rubyist" façon de faire la transformation de la structure de données suivantes:idiomatiques Ruby: la transformation de la structure de données
Je
incoming = [ {:date => 20090501, :width => 2}, {:date => 20090501, :height => 7}, {:date => 20090501, :depth => 3}, {:date => 20090502, :width => 4}, {:date => 20090502, :height => 6}, {:date => 20090502, :depth => 2}, ]
et je veux effondrer ce par: la date, de se retrouver avec
outgoing = [ {:date => 20090501, :width => 2, :height => 7, :depth => 3}, {:date => 20090502, :width => 4, :height => 6, :depth => 2}, ]
un tableau de tableaux serait également très bien à la dernière étape, à condition que les colonnes sont dans le même ordre dans chaque rangée. Aussi, surtout, je ne connais pas toutes les clés de hachage à l'avance (c'est-à-dire, je ne sais pas: largeur,: hauteur, ou: profondeur - elles pourraient être: les chats,: les chiens, et: les hamsters).
Si l'ordre est important, vous ne voulez pas de tableaux * want *. S'appuyer sur l'ordre Hash est une mauvaise idée et ne fonctionne que dans Ruby 1.9. – Chuck
Oui, mais si je garde la structure de hachage, alors mes clés me donneront l'ordre dont j'ai besoin.Je viens de faire le commentaire supplémentaire sur la commande pour le tableau de tableaux, car il n'y a aucun moyen de le remettre ensemble après le fait si j'ai un sous-tableau non ordonné. –