Em certos casos, a necessidade de converter uma matriz em um hash e vice -versa aparece. Neste guia, discutiremos como você pode converter uma matriz em um hash em rubi.
#1 - usando o método
Suponha que você tenha uma matriz que deseja converter em uma string onde a chave do hash é o elemento da matriz, e o valor do hash é o elemento da matriz + 10.
Para fazer isso, podemos usar o método para iterar cada item na matriz e convertê -lo em uma string.
var = [1,2,3,4,5,6,7,8,9,10]O exemplo acima converterá cada item na matriz em uma chave de hash emparelhada com seu valor.
O dicionário resultante é como mostrado:
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 fornece outro método chamado Cada_with_object. O método executa o método após criar um novo objeto que você pode formar a partir dos elementos da matriz.
Exemplo:
var = [1,2,3,4,5,6,7,8,9,10]A funcionalidade do exemplo acima é semelhante ao uso do método.
O valor do hash resultante é como:
1 => 11, 2 => 12, 3 => 13, 4 => 14, 5 => 15, 6 => 16, 7 => 17, 8 => 18, 9 => 19, 10 => 20Para ver como a função itera os itens da matriz e os converte em um hash, você pode adicionar um elemento de puts dentro do bloco como:
var = [1,2,3,4,5,6,7,8,9,10]Se você executar o código acima, deve obter uma visão hierárquica do processo de criação de hash.
#3 - Usando o método to_h
O método to_h é definido na classe de matriz. Ele trabalha para converter uma matriz em um hash na forma de pares de valor-chave.
Exemplo:
var = [[1,2], [3,4], [5,6]]O método converte cada matriz aninhada em pares de valor-chave.
1 => 2, 3 => 4, 5 => 6O método também aceita um bloco. Se algum bloco for especificado, o método retornará o resultado do bloco em cada elemento da matriz.
Por exemplo, a seguir é um método que mostra se o valor é verdadeiro ou falso.
var = [1,2]O dicionário resultante:
false => 1, true => 2Para encerrar
Neste guia, discutimos como converter uma matriz em um hash usando vários métodos.