estoy trabajando con un hash llamado my_hash:Mapeo de las teclas de un hash
{"2011-02-01 00:00:00+00"=>816, "2011-01-01 00:00:00+00"=>58, "2011-03-01 00:00:00+00"=>241}
En primer lugar, trato de analizar todas las claves, en my_hash (que son tiempos).
my_hash.keys.sort.each do |key|
parsed_keys << Date.parse(key).to_s
end
Lo que me da esto:
["2011-01-01", "2011-02-01", "2011-03-01"]
Entonces, intento trazar parsed_keys de nuevo a las teclas de my_hash:
Hash[my_hash.map {|k,v| [parsed_keys[k], v]}]
Pero que devuelve el siguiente error :
TypeError: can't convert String into Integer
¿Cómo puedo asignar parsed_keys a las teclas my_hash?
Mi objetivo es deshacerse de "00: 00: 00 + 00" al final de todas las teclas.
El problema es que 'parsed_keys' es una matriz, y' parsed_keys [k] 'está indexando en una matriz, por lo que Ruby espera que uses un índice, no una cadena. Si realmente deseaba mantener el mismo código, convierta a 'parsed_keys' en un hash que se configure como:' parsed_keys [key] = Date.parse (key) .to_s'. – MrDanA
Déjame intentar esto. Muchas gracias ! – Myxtic