Menu
Coddy logo textTech

Accedere agli elementi di un hash

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 74 di 88.

Ora che sai come creare hash, devi recuperare i valori memorizzati al loro interno. A differenza degli array, per i quali usi indici numerici, gli hash usano chiavi per accedere ai loro valori.

Inserisci la chiave tra parentesi quadre per ottenere il valore corrispondente:

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

puts person["name"]  # Stampa: Alice
puts person["age"]   # Stampa: 25

La chiave deve corrispondere esattamente a quella che hai usato quando hai creato l'hash. Se provi ad accedere a una chiave che non esiste, Ruby restituisce nil:

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

puts person["country"]  # Produce: (niente - nil)

Puoi anche usare il metodo fetch, che ti permette di fornire un valore predefinito quando manca la chiave:

person = {"name" => "Alice"}

puts person.fetch("name", "Unknown")     # Stampa: Alice
puts person.fetch("country", "Unknown")  # Stampa: Unknown

È utile quando vuoi gestire con eleganza le chiavi mancanti invece di ottenere nil.

challenge icon

Sfida

Facile

Leggi quattro righe di input:

  1. Un nome di prodotto (stringa)
  2. Un prezzo (numero in virgola mobile)
  3. Una quantità disponibile in magazzino (intero)
  4. Una chiave da cercare (stringa)

Crea un hash chiamato product con le seguenti coppie chiave-valore:

  • "name" associata al nome del prodotto
  • "price" associata al prezzo (come numero in virgola mobile)
  • "stock" associata alla quantità (come intero)

Quindi, usa il metodo fetch per recuperare il valore della chiave fornita nel quarto input. Se la chiave non esiste, usa "<code>Not found" come valore predefinito. Stampa il risultato.

Per esempio, se gli input sono Laptop, 999.99, 15 e price, l'output dovrebbe essere:

999.99

Se gli input sono Keyboard, 49.99, 100 e name, l'output dovrebbe essere:

Keyboard

Se gli input sono Mouse, 29.99, 50 e color, l'output dovrebbe essere:

Not found

Se gli input sono Monitor, 299.0, 8 e stock, l'output dovrebbe essere:

8

Provalo tu

# Leggi l'input
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp

# TODO: Scrivi il tuo codice qui sotto
# Crea un hash chiamato 'product' con le chiavi "name", "price" e "stock"
# Poi usa il metodo fetch per recuperare il valore di key_to_lookup
# Usa il testo esatto delle istruzioni come valore predefinito se la chiave non esiste


# Mostra il risultato
puts result
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