Menu
Coddy logo textTech

Acessando Elementos de um Hash

Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 74 de 88.

Agora que você sabe como criar hashes, você precisa recuperar os valores armazenados dentro deles. Ao contrário dos arrays, onde você usa índices numéricos, os hashes usam chaves para acessar seus valores.

Coloque a chave dentro de colchetes para obter seu valor correspondente:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person["name"]  # Saída: Alice
puts person["age"]   # Saída: 25

A chave deve corresponder exatamente ao que você usou ao criar o hash. Se você tentar acessar uma chave que não existe, o Ruby retornará nil:

person = {"name" => "Alice", "age" => 25}

puts person["country"]  # Saída: (nada - nil)

Você também pode usar o método fetch, que permite fornecer um valor padrão quando a chave está ausente:

person = {"name" => "Alice"}

puts person.fetch("name", "Unknown")     # Saída: Alice
puts person.fetch("country", "Unknown")  # Saída: Unknown

Isso é útil quando você deseja lidar com chaves ausentes de forma elegante em vez de receber nil.

challenge icon

Desafio

Fácil

Leia quatro linhas de entrada:

  1. Um nome de produto (string)
  2. Um preço (float)
  3. Uma quantidade em estoque (inteiro)
  4. Uma chave para busca (string)

Crie um hash chamado product com os seguintes pares chave-valor:

  • "name" mapeado para o nome do produto
  • "price" mapeado para o preço (como um float)
  • "stock" mapeado para a quantidade (como um inteiro)

Em seguida, use o método fetch para recuperar o valor da chave fornecida na quarta entrada. Se a chave não existir, use "Not found" como o valor padrão. Imprima o resultado.

Por exemplo, se as entradas forem Laptop, 999.99, 15, e price, a saída deve ser:

999.99

Se as entradas forem Keyboard, 49.99, 100, e name, a saída deve ser:

Keyboard

Se as entradas forem Mouse, 29.99, 50, e color, a saída deve ser:

Not found

Se as entradas forem Monitor, 299.0, 8, e stock, a saída deve ser:

8

Folha de consulta

Para acessar valores em um hash, use a chave dentro de colchetes:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person["name"]  # Saída: Alice
puts person["age"]   # Saída: 25

Se uma chave não existir, o Ruby retorna nil:

person = {"name" => "Alice", "age" => 25}

puts person["country"]  # Saída: (nada - nil)

Use o método fetch para fornecer um valor padrão para chaves ausentes:

person = {"name" => "Alice"}

puts person.fetch("name", "Unknown")     # Saída: Alice
puts person.fetch("country", "Unknown")  # Saída: Unknown

Experimente você mesmo

# Ler entrada
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp

# TODO: Escreva seu código abaixo
# Crie um hash chamado 'product' com as chaves "name", "price" e "stock"
# Em seguida, use o método fetch para recuperar o valor de key_to_lookup
# Use "Not found" como o valor padrão se a chave não existir


# Exibir o resultado
puts result
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos