Как итерации работают в Ruby?

Я недавно начал кодировать 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; "

Я понимаю общие функции хеширования, но не понимаю, как value и ключ установлены на что-либо. Они указываются как параметры в блоке, но хэш никогда не связан с этими параметрами.

5
задан 3 October 2013 в 20:05
поделиться