Combinar hashes de rubí

Oluwafisayo Oluwatayo 15 febrero 2024
  1. Método simplificado de fusión de rubí hashes
  2. Enfoque detallado para fusionar hashes de Ruby
  3. Conclusión
Combinar hashes de rubí

Los hashes son muy similares a una matriz, pero se diferencian en el sentido de que cada hash suele tener sus propias claves únicas.

El uso de hashes se considera el mejor enfoque para mantener los datos en una estructura bien organizada y fácil de leer, y también podemos fusionar dos hashes de Ruby usando sus claves únicas.

Veamos ahora los diversos métodos para fusionar hashes de Ruby.

Método simplificado de fusión de rubí hashes

Este método se denomina simplificado porque, con respecto al segundo método, es bastante sencillo, fácil de resolver y utiliza menos códigos.

Crearemos un nuevo archivo, lo llamaremos nuevo.rb y añadiremos estos códigos:

a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
a.merge(b) {|key, a_val, b_val| a_val.merge b_val }

Hemos creado las propiedades en el hash, cada una con su clave única. Queremos fusionar los hash para mostrar el nombre, el color y la velocidad del animal.

Método 1

Enfoque detallado para fusionar hashes de Ruby

Este método requiere que agreguemos más detalles a nuestros códigos; en el ejemplo anterior, solo necesitábamos fusionar los hashes usando las claves asignadas a ellos, pero aquí incluimos la propiedad cuyos valores queremos fusionar.

Cree un nuevo archivo, asígnele el nombre nuevo.rb y escriba estos códigos:

a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
c = a[:cheetah].merge(b[:cheetah])
d = {:cheetah => c}

Después de haber asignado valores a cada propiedad con sus claves únicas, creamos otro hash para fusionar los dos hash anteriores; luego, creamos otro hash para mostrar las propiedades del hash c.

método 2

En situaciones en las que fusionamos hashes con las mismas claves únicas, Ruby anulará el primer hash con el segundo.

Para ver eso, creemos un nuevo archivo, asígnele el nombre nuevo.rb y escriba estos códigos:

h1={"a"=>"cheetah","b"=>"apple"}
h2={"b"=>"mango","c"=>"lion"}
h1.merge!(h2)

fusionar sobrescribe

Cuando ejecutamos este código, vemos que la "manzana" no está incluida en el hash fusionado. Pero podemos solucionar esto ajustando un poco nuestro código.

Cree un nuevo archivo, asígnele el nombre nuevo.rb y escriba este código:

h1={"a"=>"cheetah","b"=>"apple"}
h2={"b"=>"mango","c"=>"lion"}
h1.merge(h2){|k,v1,v2|[v1,v2]}

la combinación sobrescribe la solución alternativa

Ahora veremos que en lugar de que la propiedad "b" muestre solo el valor de "mango", mostrará tanto "manzana" como "mango" bajo la propiedad "b".

Conclusión

Los hashes son un medio muy adecuado para mostrar datos de forma coherente, y la asignación de claves únicas a cada hash facilita llamar a la propiedad para realizar otras funciones o, en este caso, fusionar los hashes. La fusión de los hash se hace más fácil debido a las claves únicas asignadas a los hash.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn