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.