Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Leggi tre righe di input:

  1. Un titolo di libro (stringa)
  2. Il nome di un autore (stringa)
  3. 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 book
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online