Creare gli hash
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 73 di 88.
Gli array sono ottimi per memorizzare elenchi ordinati, ma a volte devi associare valori a etichette specifiche anziché a indici numerici. Un hash memorizza i dati sotto forma di coppie chiave-valore, in cui ogni chiave rimanda al valore corrispondente.
Per creare un hash, usa le parentesi graffe con chiavi e valori separati da => (chiamato operatore hash rocket):
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # Stampa: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}Ogni chiave deve essere univoca all'interno dell'hash, ma i valori possono ripetersi. Le chiavi e i valori possono essere di qualsiasi tipo di dato, incluse stringhe, numeri o persino array.
Puoi anche creare un hash vuoto e aggiungere coppie in seguito:
scores = {}
puts scores # Stampa: {}Gli hash sono perfetti per rappresentare oggetti del mondo reale con attributi denominati, come un prodotto con un nome e un prezzo oppure un utente con un indirizzo email e una password. A differenza degli array, in cui devi ricordare le posizioni, gli hash ti permettono di usare nomi significativi per organizzare i tuoi dati.
Sfida
FacileLeggi tre righe di input:
- Un titolo di libro (stringa)
- Il nome di un autore (stringa)
- Un anno di pubblicazione (intero)
Crea un hash chiamato book con tre coppie chiave-valore usando la sintassi hash rocket (=>):
"title"associato al titolo del libro"author"associato al nome dell'autore"year"associato all'anno di pubblicazione (come intero)
Stampa l'hash usando puts.
Per esempio, se gli input sono Ruby Basics, Jane Smith e 2023, l'output dovrebbe essere:
{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}Se gli input sono The Great Gatsby, F. Scott Fitzgerald e 1925, l'output dovrebbe essere:
{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}Se gli input sono 1984, George Orwell e 1949, l'output dovrebbe essere:
{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}Provalo tu
# Leggi l'input
title = gets.chomp
author = gets.chomp
year = gets.to_i
# TODO: Crea un hash chiamato 'book' con tre coppie chiave-valore usando la sintassi hash rocket (=>)
# Le chiavi devono essere: "title", "author", "year"
# Stampa l'hash
puts bookQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dall'utente10FizzBuzz con un colpo di scena
Panoramica del giocoIl metodo FizzBuzz2Variabili e tipi di dato
Numeri e variabiliTipo di dato stringaTipo di dato booleanoTipo di dato SymbolVerifica dei tipi di datoConvenzioni di denominazioneRiepilogo - Creazione di variabili5Strutture decisionali
Istruzione ifIf-ElseRipasso - Calcolatrice sempliceIf-Else annidatoIstruzione unless8Cicli
Ciclo for con intervalliCiclo whilebreaknextRiepilogo - FattorialeCiclo timesCiclo untilCicli annidatiRiepilogo - Input dinamico3Operatori, parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso: matematica sempliceOperatori di confronto6Input/Output di base
Output con putsOutput con print e pOutput con variabiliInput con getsMetodo chompConversione di tipoRipasso - Calcolatore dell'etàRipasso - Vero o falsoEsercitati da solo: Compilatore Ruby online