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.
Desafio
FácilLeia três linhas de entrada:
- Um título de livro (string)
- Um nome de autor (string)
- 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}Folha de consulta
Um hash armazena dados como pares chave-valor, onde cada chave aponta para um valor correspondente.
Para criar um hash, use chaves com chaves e valores separados por => (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 arrays.
Você pode criar um hash vazio:
scores = {}
puts scores # Saída: {}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 bookEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoO Método FizzBuzz2Variáveis e Tipos de Dados
Números e VariáveisTipo de Dado StringTipo de Dado BooleanTipo de Dado SymbolVerificando Tipos de DadosConvenções de NomenclaturaRecapitulação - Criação de Variáveis5Tomada de Decisão
Instrução IfIf - ElseRecapitulação - Calculadora SimplesIf - Else AninhadoInstrução Unless8Laços de Repetição
Loop For com IntervalosLoop WhileBreakNextRecapitulação - FatorialLoop TimesLoop UntilLoops AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com putsSaída com print e pSaída com VariáveisEntrada com getsMétodo chompConversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Métodos
Definindo um MétodoParâmetros de MétodoValores de RetornoRecapitulação - Método SigmaRecapitulação - Método de ValidaçãoValores de Parâmetro Padrão15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa