Je suis une personne Perl et je l'ai fait Hashes comme ça pendant un certain temps:Création d'une ligne de hachage imbriquée dans Ruby? (Je viens de Perl)
my %date; #Assume the scalars are called with 'my' earlier $date{$month}{$day}{$hours}{$min}{$sec}++
Maintenant, je suis d'apprentissage Ruby et je l'ai trouvé jusqu'à présent que l'utilisation de cet arbre est le moyen de faire beaucoup de clés et une valeur. Est-il possible d'utiliser le format simple que j'utilise avec Perl en utilisant une ligne?
@date = { month => { day => { hours => { min => { sec => 1 } } } } }
Je ne sais pas une façon de faire de la boîte. Vous pourriez probablement étendre la classe Array ou Hash avec une méthode qui prend quelque chose comme '[month, day, hours, min, sec, 1]' comme argument et le convertit en ce type de hash pour vous, si c'est quelque chose que vous pense est utile. – Karl
Il me semble que les gens de Ruby utilisent une manière différente de stocker des informations dans un script en cours d'exécution. J'utilise des hashes comme des fous dans perl pour garder mes données uniques et catégorisées. Existe-t-il une meilleure méthode pour stocker des données dans ce cas? J'utilise cet extrait dans un script d'analyse de journal et d'autres clés peuvent être ajoutées pour différentes entrées de journal que je dois surveiller et classer. – BioDevMike
Autres questions de "hash autovivification dans Ruby": http://stackoverflow.com/questions/170223/hashes-of-hashes-idiom-in-ruby http://stackoverflow.com/questions/3148747/is-auto-initialization -d-multidimensionnel-hash-array-possible-dans-ruby-as-it-is et http://stackoverflow.com/questions/3172342/how-to-handle-combination-for-auto-vivifying-hash -in-ruby –