Menu
Coddy logo textTech

Símbolos como Chaves de Hash

Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 78 de 88.

Até agora, você tem usado strings como chaves de hash com a sintaxe hash rocket. No entanto, desenvolvedores Ruby comumente usam símbolos como chaves, o que oferece uma abordagem mais limpa e eficiente.

Lembra-se dos símbolos vistos anteriormente? Eles são identificadores leves e imutáveis que começam com dois-pontos. Ao usar símbolos como chaves, o Ruby fornece uma sintaxe abreviada especial:

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

puts person  # Saída: {:name=>"Alice", :age=>25, :city=>"Paris"}

Observe como name: substitui :name =>. Este atalho só funciona quando a chave é um símbolo. Para acessar os valores, use o símbolo com colchetes:

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

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

Adicionar e modificar entradas funciona da mesma forma:

person = {name: "Alice"}

person[:city] = "Paris"
person[:name] = "Bob"

puts person  # Saída: {:name=>"Bob", :city=>"Paris"}

Símbolos são preferidos como chaves de hash porque são mais rápidos de comparar do que strings e usam menos memória. Você verá esse padrão em todo o código Ruby, então vale a pena se familiarizar com ele.

challenge icon

Desafio

Fácil

Leia três linhas de entrada:

  1. Uma marca de carro (string)
  2. Um nome de modelo (string)
  3. Um ano (inteiro)

Crie um hash chamado car usando a sintaxe abreviada de símbolos (ex: key: value) com os seguintes pares chave-valor:

  • :brand mapeado para a marca do carro
  • :model mapeado para o nome do modelo
  • :year mapeado para o ano (como um inteiro)

Em seguida, realize estas operações:

  1. Imprima o valor da chave :model
  2. Adicione uma nova chave :color com o valor "black"
  3. Atualize a chave :year adicionando 1 ao seu valor atual
  4. Imprima o hash final

Por exemplo, se as entradas forem Toyota, Camry, e 2020, a saída deve ser:

Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}

Se as entradas forem Honda, Civic, e 2018, a saída deve ser:

Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}

Se as entradas forem Ford, Mustang, e 2023, a saída deve ser:

Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}

Experimente você mesmo

# Ler a entrada
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i

# TODO: Escreva seu código abaixo
# 1. Crie um hash chamado 'car' usando a sintaxe abreviada de símbolos com as chaves :brand, :model e :year

# 2. Imprima o valor da chave :model

# 3. Adicione uma nova chave :color com o valor "black"

# 4. Atualize a chave :year adicionando 1 ao seu valor atual

# 5. Imprima o hash final
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

Pratique por conta própria: Compilador de Ruby online