- O
Hash do Ruby é uma estrutura de dados embutida que mapeia valores para chaves. O(1)
- Outras linguagens têm muitas classes para gerenciar chave/valor, mas o Ruby gerencia pares chave/valor com uma única classe,
Hash
- É uma estrutura de dados muito flexível, podendo ser usada de várias formas além de objeto de dados / dicionário / tabela hash / lista ordenada
- Quase qualquer objeto, incluindo símbolo/string/inteiro, pode ser usado como chave
- Com o método
fetch, é possível definir um valor padrão quando a chave não existe
- Com
delete, é possível remover uma chave. Não há problema em chamar uma chave inexistente
- Permite aninhamento
- Se a chave não existir, retorna
nil, mas é possível definir um valor padrão com a propriedade default
- Inclui o módulo
Enumerable, permitindo iterar pelo hash com métodos como each, each_key, each_pair, each_value, keys, values etc.
- É possível desempacotar o conteúdo de um hash com o operador double splat
**
- Outros métodos úteis:
any?(key), compact, empty?, merge, hash.eql? obj, except(*keys), reject, filter & select, fetch_values(*keys), has_key?, member?, include?, key?, has_value?, value?, length, size, count, slice(*keys), transform_values, flatten
9 comentários
Isso me faz lembrar da emoção que senti na faculdade quando aprendi C e tive meu primeiro contato com listas em Python.
Eu ia traduzir "canivete suíço" como "canivete do MacGyver", mas achei que hoje em dia as pessoas talvez não entendessem, então ficou "ferramenta versátil"...
Acho que até MacGyver funciona, mas se a pessoa nunca ouviu falar de canivete suíço, pode ficar difícil kkk
Até eu, que estou na casa dos 10 anos, entendi. Acho que quase não tem ninguém que não conheça isso.
Nossa, que descoberta impressionante. Eu realmente achei que nunca saberia disso.
Aliás, então também havia adolescentes entre os usuários do GeekNews.. muito legal!
Surpreendentemente, o número de desenvolvedores adolescentes também está aumentando, então parece que está crescendo gradualmente a quantidade de estudantes desenvolvedores que acompanham o GeekNews.
Até eu, apenas 9 meses atrás, ainda era adolescente...
Muita gente nem sabe que existiu uma série chamada 'MacGyver', mas, ainda assim, parece que todo mundo entende a expressão 'canivete suíço do MacGyver'.
Agora já tem status de provérbio, então acho que tudo bem, não é? Pelo menos eu, que estou na casa dos 20, entendi :D
Ah. Se você entender, já ganhou o certificado de tiozão :)