Convertir la matriz a hash ruby

Convertir la matriz a hash ruby
Tanto las matrices como los diccionarios comparten un rasgo común en todos los idiomas de programación importantes: son estructuras de datos flexibles y escalables que ayudan a organizar y refactorizar el código.

En ciertos casos, la necesidad de convertir una matriz a un hash y viceversa aparece. En esta guía, discutiremos cómo puede convertir una matriz a un hash en Ruby.

#1 - Uso de cada método

Supongamos que tiene una matriz que desea convertir a una cadena donde la clave del hash es el elemento de matriz, y el valor del hash es el elemento de la matriz + 10.

Para hacer esto, podemos usar cada método para iterar cada elemento en la matriz y convertirlo en una cadena.

var = [1,2,3,4,5,6,7,8,9,10]
my_hash =
varilla.cada do | i |
my_hash [i] = i+10
fin
pone my_hash

El ejemplo anterior convertirá cada elemento en la matriz a una clave hash emparejada con su valor.

El diccionario resultante es como se muestra:

1 => 11, 2 => 12, 3 => 13, 4 => 14, 5 => 15, 6 => 16, 7 => 17, 8 => 18, 9 => 19, 10 => 20

#2 - usando cada_with_object

Ruby proporciona otro método llamado cada_with_object. El método ejecuta cada método después de crear un nuevo objeto que pueda formar desde los elementos de la matriz.

Ejemplo:

var = [1,2,3,4,5,6,7,8,9,10]
varilla.cada_with_object () do | i, my_hash |
my_hash [i] = i+10
fin

La funcionalidad del ejemplo anterior es similar a usar cada método.

El valor hash resultante es como:

1 => 11, 2 => 12, 3 => 13, 4 => 14, 5 => 15, 6 => 16, 7 => 17, 8 => 18, 9 => 19, 10 => 20

Para ver cómo la función itera sobre los elementos en la matriz y los convierte en un hash, puede agregar un elemento de colocación dentro del bloque como:

var = [1,2,3,4,5,6,7,8,9,10]
varilla.cada_with_object () do | i, my_hash |
my_hash [i] = i+10
pone my_hash
fin

Si ejecuta el código anterior, debe obtener una visión jerárquica del proceso de creación hash.

#3 - Uso del método To_h

El método TO_H se define en la clase de matriz. Funciona para convertir una matriz a un hash en forma de pares de valores clave.

Ejemplo:

var = [[1,2], [3,4], [5,6]]
pone var.to_h

El método convierte cada matriz anidada en pares de valor clave.

1 => 2, 3 => 4, 5 => 6

El método también acepta un bloque. Si se especifica algún bloque, el método devuelve el resultado del bloque en cada elemento de matriz.

Por ejemplo, el siguiente es un método que muestra si el valor es verdadero o falso.

var = [1,2]
pone var.to_h | i | [i.incluso?, i]

El diccionario resultante:

false => 1, true => 2

Para concluir

En esta guía, discutimos cómo convertir una matriz a un hash utilizando varios métodos.