recorrer rails que metodos mapas ruby enumerable

rails - que es hash en ruby



¿Es posible acceder al índice en un Hash cada ciclo? (2)

Probablemente me esté perdiendo algo obvio, pero ¿hay alguna forma de acceder al índice / recuento de la iteración dentro de un hash en cada ciclo?

hash = {''three'' => ''one'', ''four'' => ''two'', ''one'' => ''three''} hash.each { |key, value| # any way to know which iteration this is # (without having to create a count variable)? }


Podría iterar sobre las teclas y obtener los valores de forma manual:

hash.keys.each_with_index do |key, index| value = hash[key] print "key: #{key}, value: #{value}, index: #{index}/n" # use key, value and index as desired end

EDITAR: por comentario de rampion, también aprendí que puedes obtener la clave y el valor como una tupla si iteras sobre el hash :

hash.each_with_index do |(key, value), index| print "key: #{key}, value: #{value}, index: #{index}/n" # use key, value and index as desired end


Si desea saber el índice de cada iteración, podría usar .each_with_index

hash.each_with_index { |(key,value),index| ... }