Soy nuevo en Ruby y no sé cómo agregar un nuevo elemento al hash ya existente. Por ejemplo, primero construyo hash:
hash = {item1: 1}
después de eso quiero agregar item2 así que después de esto tengo hash como este:
{item1: 1, item2: 2}
No sé qué método hacer en hash, ¿alguien podría ayudarme?

hash.merge!(item2: 2)para fusionar y guardar el valor !hash.merge!(item2: 2)funciona más lento en comparación conhash[:item2] = 2cuando solo hay un argumentoSi desea agregar nuevos elementos desde otro hash, use el
mergemétodo:En su caso específico podría ser:
pero no es aconsejable usarlo cuando debería agregar solo un elemento más.
Presta atención que
mergereemplazará los valores con las claves existentes:Exactamente como
hash[:item1] = 2También debe prestar atención a que el
mergemétodo (por supuesto) no afecta el valor original de la variable hash: devuelve un nuevo hash combinado. Si desea reemplazar el valor de la variable hash, usemerge!en su lugar:fuente
hash.store (clave, valor) : almacena un par clave-valor en hash.
Ejemplo:
Documentation
fuente
Es tan simple como:
fuente
hash [clave] = valor Asocia el valor dado por valor con la clave dada por clave.
De la documentación de Ruby: http://www.tutorialspoint.com/ruby/ruby_hashes.htm
fuente
fuente
Crear hash como:
Ahora inserte en hash como:
fuente
Hash.newpieza independientemente, porqueHash[]ya está creando un nuevo hash.