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] = 2
cuando solo hay un argumentoSi desea agregar nuevos elementos desde otro hash, use el
merge
mé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
merge
reemplazará los valores con las claves existentes:Exactamente como
hash[:item1] = 2
También debe prestar atención a que el
merge
mé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.new
pieza independientemente, porqueHash[]
ya está creando un nuevo hash.