Convertire l'array in hash ruby

Convertire l'array in hash ruby
Sia gli array che i dizionari condividono un tratto comune in tutti i principali linguaggi di programmazione: sono strutture di dati sia flessibili che scalabili che aiutano a organizzare e refactor code.

In alcuni casi, la necessità di convertire un array in un hash e viceversa emerge. In questa guida, discuteremo di come puoi convertire un array in un hash in Ruby.

#1 - Utilizzo di ogni metodo

Supponiamo di avere un array che desideri convertire in una stringa in cui la chiave dell'hash è l'elemento array e il valore dell'hash è l'elemento dell'array + 10.

Per fare ciò, possiamo usare ogni metodo per iterare ogni elemento nell'array e convertirlo in una stringa.

VAR = [1,2,3,4,5,6,7,8,9,10]
my_hash =
var.ognuno do | i |
my_hash [i] = i+10
FINE
mette my_hash

L'esempio sopra convertirà ogni elemento nell'array in un tasto hash abbinato al suo valore.

Il dizionario risultante è come mostrato:

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

#2 - Usando ciascuno_with_object

Ruby fornisce un altro metodo chiamato ciascuno_with_object. Il metodo esegue il metodo di ciascuno dopo aver creato un nuovo oggetto che puoi formare dagli elementi dell'array.

Esempio:

VAR = [1,2,3,4,5,6,7,8,9,10]
var.ogni_with_object () do | i, my_hash |
my_hash [i] = i+10
FINE

La funzionalità dell'esempio sopra è simile all'uso di ciascun metodo.

Il valore hash risultante è come:

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

Per vedere come la funzione itera sugli elementi nell'array e li converte in un hash, è possibile aggiungere un elemento put all'interno del blocco come:

VAR = [1,2,3,4,5,6,7,8,9,10]
var.ogni_with_object () do | i, my_hash |
my_hash [i] = i+10
mette my_hash
FINE

Se si esegue il codice sopra, dovresti ottenere una vista gerarchica del processo di creazione di hash.

#3 - Utilizzo del metodo TO_H

Il metodo TO_H è definito nella classe Array. Funziona per convertire un array in un hash sotto forma di coppie di valore chiave.

Esempio:

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

Il metodo converte ogni array nidificato in coppie di valore chiave.

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

Il metodo accetta anche un blocco. Se viene specificato un blocco, il metodo restituisce il risultato del blocco su ciascun elemento dell'array.

Ad esempio, quello che segue è un metodo che mostra se il valore è vero o falso.

var = [1,2]
mette var.to_h | i | [io.Anche?, io]

Il dizionario risultante:

false => 1, true => 2

In chiusura

In questa guida, abbiamo discusso di come convertire un array in un hash usando vari metodi.