Combinar hashes de rubí
- Método simplificado de fusión de rubí hashes
- Enfoque detallado para fusionar hashes de Ruby
- Conclusión
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.
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
.
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)
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]}
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.
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