Ruby: inyectar el problema al convertir la matriz en hash
a = [[1, 'a'],[2, 'b'],[3, 'c'], [4, 'd']] a.inject({}) {|r, val| r[val[0]] = val[1]}
Cuando ejecuto esto, me sale un error de índice
Cuando cambio el bloque a
a.inject({}) {|r, val| r[val[0]] = val[1]; r}
Entonces funciona.
¿Cómo maneja Ruby el primer intento de inyección que no está obteniendo lo que quiero?
¿Hay una mejor manera de hacer esto?