Como usar o Ruby Hashes

Como usar o Ruby Hashes
Hashes, também chamados de matrizes associativas, mapas ou dicionários, são tipos de estrutura de dados que armazenam dados como pares de valor-chave.

Como os hashes armazenam uma coleção de referências de objetos, eles tendem a se comportar de maneira semelhante a matrizes. No entanto, diferentemente das matrizes, Ruby Hashes usa qualquer tipo de objeto Ruby como índice, enquanto as matrizes usam números inteiros.

Um hash rubi tem dois objetos: o índice, ao qual nos referimos principalmente como uma chave, e o outro representando o valor real. Tanto a chave quanto o valor de um hash podem ser de qualquer tipo.

Como criar um hash rubi

Como mencionado, os hashes seguem o formato de um dicionário em que uma chave representa um valor. Um exemplo seria uma lista de nomes de usuário, cada um apontando para seu respectivo endereço de e -mail.

Para criar um hash rubi, inclua os valores em um par de aparelhos encaracolados:

A sintaxe mencionada anteriormente cria um hash vazio sem pares de valor-chave.

Para adicionar dados ao hash, podemos usar a flecha ou a notação do cólon. Por exemplo, o código abaixo representa hashes rubi válidos:

Shrek: "[email protected] ", Leoin:" [email protected] ", Tropicalne:" [email protected] "
# Notação de seta
shrek => "[email protected] ", leoin =>" [email protected] ", tropicalne =>" [email protected] "

Ambos os dois formatos são válidos e Ruby os interpretará como hashes rubi válidos. Como você notará, uma vírgula separa cada par de valores-chave em um hash.

Além de estabelecer um hash do nada, você pode atribuir os valores a uma variável como faria para um número inteiro.

Por exemplo:

user_db = shrek: "[email protected] ", Leoin:" [email protected] ", Tropicalne:" [email protected] "
coloca user_db

Outra maneira de inicializar um hash vazio é usar a aula de hash. Por exemplo:

user_db = hash.novo

Depois de ter um hash vazio inicializado, você pode atribuir valores usando o = sinal.

Por exemplo:

user_db = hash.novo
user_db ["shrek"] = "[email protected] "
user_db ["leoin"] = "[email protected] "
user_db ["tropicalne"] = "[email protected] "
coloca user_db

No exemplo acima, criamos um hash vazio e atribuímos valores a ele mais tarde.

Passamos a chave de hash dentro dos colchetes e o valor alvo usando o operador de atribuição.

A execução do código acima deve fornecer saída a todos os dados no hash:

"shrek" => "[email protected] "," leoin "=>" [email protected] "," tropicalne "=>" [email protected] "

Como buscar valores de matriz

Para obter um valor em um hash, usamos um suporte quadrado e passamos a chave de destino:

Por exemplo:

coloca user_db ["shrek"]

Isso deve retornar o valor associado à chave neste caso, o endereço de email:

[email protected]

Outra maneira de obter um valor dentro de um hash é usar o método de busca. Nesse caso, passamos a chave de destino dentro de um par de parênteses.

Por exemplo:

coloca user_db.Fetch ("Shrek")

Vários métodos de hash rubi

Agora, vejamos alguns métodos de hash que você pode usar para manipular e trabalhar com objetos de hash em Ruby:

1. Mesclar

O primeiro método é o método de mesclagem. O método de mesclagem nos permite combinar dois ou mais hashes para criar um hash.

Suponha que tenhamos dois hashes de desenvolvedores e engenheiros como:

Desenvolvedores = "Anne": "Python", "Liz": "Ruby on Rails", "Martin": "Java", "Peter": "C ++"
# Engenharia
Engenheiros = "Henry": "Chemical Engineer", "Ruby": "Electrical Engineer", "Liam": "Materiais Engineer"

Podemos combinar os dois hashes para criar um hash de funcionários como:

funcionários = desenvolvedores.mesclar (engenheiros)
coloca funcionários

Isso criará um hash, com a chave e os valores de ambos os hashes combinados:

: Anne => "python" ,: liz => "rubi nos trilhos" ,: martin => "java" ,: peter => "c ++" ,: henry => "engenheiro químico" ,: ruby ​​=> "elétrico Engenheiro ",: Liam =>" Engenheiro de Materiais "

2. Organizar

Suponha que queremos classificar os valores em um hash. Podemos fazer isso usando o método de classificação. Ele classifica automaticamente os valores em ordem crescente.

Aqui está um exemplo:

Desenvolvedores = a: "Python", X: "Ruby on Rails", D: "Java", C: "C ++"
coloca desenvolvedores.organizar

3. Chaves

Além disso, Ruby fornece o método Keys que permite obter as chaves disponíveis em um hash. Por exemplo:

Desenvolvedores = a: "Python", X: "Ruby on Rails", D: "Java", C: "C ++"
coloca desenvolvedores.chaves

O exemplo acima retornará apenas as chaves do dicionário e nenhum valores:

a
x
d
c

4. Valores

Se você deseja obter apenas os valores no hash, pode usar o método de hash como:

Desenvolvedores = a: "Python", X: "Ruby on Rails", D: "Java", C: "C ++"
coloca desenvolvedores.valores

O resultado é apenas um conjunto de valores no dicionário na ordem em que eles aparecem:

Pitão
Rubi nos trilhos
Java
C++

Conclusão

Este artigo foi um tutorial rápido sobre como trabalhar com hashes em rubi. Nisso, discutimos como declarar um hash, adicionar valores, buscar valores e vários métodos que você pode usar para interagir com hashes.