Menu
Coddy logo textTech

Criando Hashes

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

Arrays são ótimos para armazenar listas ordenadas, mas às vezes você precisa associar valores a rótulos específicos em vez de índices numéricos. Um hash armazena dados como pares de chave-valor, onde cada chave aponta para um valor correspondente.

Para criar um hash, use chaves com chaves e valores separados por => (chamado de hash rocket):

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

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

Cada chave deve ser única dentro do hash, mas os valores podem se repetir. Chaves e valores podem ser de qualquer tipo de dado, incluindo strings, números ou até mesmo arrays.

Você também pode criar um hash vazio e adicionar pares mais tarde:

scores = {}

puts scores  # Outputs: {}

Hashes são perfeitos para representar objetos do mundo real com atributos nomeados, como um produto com nome e preço, ou um usuário com e-mail e senha. Ao contrário dos arrays, onde você memoriza posições, os hashes permitem que você use nomes significativos para organizar seus dados.

challenge icon

Desafio

Fácil

Leia três linhas de entrada:

  1. Um título de livro (string)
  2. Um nome de autor (string)
  3. Um ano de publicação (inteiro)

Crie um hash chamado book com três pares de chave-valor usando a sintaxe hash rocket (=>):

  • "title" mapeado para o título do livro
  • "author" mapeado para o nome do autor
  • "year" mapeado para o ano de publicação (como um inteiro)

Imprima o hash usando puts.

Por exemplo, se as entradas forem Ruby Basics, Jane Smith e 2023, a saída deve ser:

{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}

Se as entradas forem The Great Gatsby, F. Scott Fitzgerald e 1925, a saída deve ser:

{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}

Se as entradas forem 1984, George Orwell e 1949, a saída deve ser:

{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}

Experimente você mesmo

# Ler entrada
title = gets.chomp
author = gets.chomp
year = gets.to_i

# TODO: Criar um hash chamado 'book' com três pares de chave-valor usando a sintaxe hash rocket (=>)
# As chaves devem ser: "title", "author", "year"


# Exibir o hash
puts book
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