Soy una persona Perl y he hecho Hashes así durante un tiempo:Creación de hash anidada con un liner en Ruby? (Vengo de Perl)
my %date; #Assume the scalars are called with 'my' earlier $date{$month}{$day}{$hours}{$min}{$sec}++
Ahora estoy aprendiendo Ruby y me he encontrado hasta ahora que el uso de este árbol es la forma de hacer muchas llaves y un valor. ¿Hay alguna forma de usar el formato simple que uso con Perl usando una línea?
@date = { month => { day => { hours => { min => { sec => 1 } } } } }
No sé una manera de hacerlo fuera de la caja. Probablemente podrías extender la clase Array o Hash con un método que tomara algo como '[month, day, hours, min, sec, 1]' como argumento y lo convirtieras en ese tipo de hash, si es algo que piensa que es útil. – Karl
Me parece que la gente de Ruby utiliza una forma diferente de almacenar información dentro de un script en ejecución. Utilizo hashes como crazy en Perl para mantener mis datos únicos y categorizados. ¿Hay un mejor método para almacenar datos en este caso? Estoy usando este fragmento en un script de análisis de registro y es posible que se agreguen más claves para diferentes entradas de registro que necesito monitorear y mantener categorizadas. – BioDevMike
Otras preguntas de "autocifra hash en Ruby": http://stackoverflow.com/questions/170223/hashes-of-hashes-idiom-in-ruby http://stackoverflow.com/questions/3148747/is-auto-initialization -de-multi-dimensional-hash-array-posible-en-ruby-as-it-is y http://stackoverflow.com/questions/3172342/how-to-handle-combination-for-auto-vivifying-hash -in-ruby –