Recientemente he empezado a codificar Ruby y tengo un malentendido con los parámetros del bloque. Tome el siguiente código de ejemplo:¿Cómo funciona la iteración en Ruby?
h = { # A hash that maps number names to digits
:one => 1, # The "arrows" show mappings: key=>value
:two => 2 # The colons indicate Symbol literals
}
h[:one] # => 1. Access a value by key
h[:three] = 3 # Add a new key/value pair to the hash
h.each do |key,value| # Iterate through the key/value pairs
print "#{value}:#{key}; " # Note variables substituted into string
end # Prints "1:one; 2:two; 3:three; "
entiendo la funcionalidad general de hash, sin embargo yo no entiendo cómo value
y key
se establecen para nada. Se especifican como parámetros en el bloque, pero el hash nunca se asocia de ninguna manera con estos parámetros.
Cuando dice 'h.each hacer | clave, valor |' 'la asociación de clave, valor' a' H' para todo el bloque 'do' se define en esa línea. Los nombres 'key' y' value' podrían ser lo que quieras. –
Si 'h.each' parece demasiado mágico para entonces siempre puedes usar' h.each_pair'. –
Ruby viene con IRB, que puedes ejecutar desde la línea de comando usando 'irb'. Te permite comenzar a jugar fácilmente con variables y asignaciones. Es una gran herramienta cuando quieres aprender este tipo de cosas. –