Hashes

Nem sempre queremos trabalhar com arrays, cuja única maneira de encontrar o que está lá dentro é através de um número.

Imagine que temos uma ficha de um livro.

isbn: 9788573028416
titulo: "A Luneta Âmbar"
autor: "Philip Pullman"

Não há como guardar essas informações numa array e acessá-las de forma fácil e coerente.

Podemos usar a estrutura de dados Hash, que funciona no esquema chave-valor.

livro = Hash.new
# => equivale a livro = {} 
livro["isbn"] = 9788573028416
livro["titulo"] = "A Luneta Âmbar"
livro["autor"] = "Philip Pullman"

puts livro.size
# => 3

puts livro["autor"]
# => "Philip Pullman"

Por serem únicos e imutáveis, os símbolos são ótimos candidatos a serem chaves em Hash:

livro[:titulo] = "A Luneta Âmbar"