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: 25La 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.
Sfida
FacileLeggi quattro righe di input:
- Un nome di prodotto (stringa)
- Un prezzo (numero in virgola mobile)
- Una quantità disponibile in magazzino (intero)
- 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.99Se gli input sono Keyboard, 49.99, 100 e name, l'output dovrebbe essere:
KeyboardSe gli input sono Mouse, 29.99, 50 e color, l'output dovrebbe essere:
Not foundSe gli input sono Monitor, 299.0, 8 e stock, l'output dovrebbe essere:
8Provalo 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 resultQuesta 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 dinamico11Array
Creare arrayAccedere agli elementi di un arrayModificare gli arrayMetodi degli arrayRiepilogo - Array dei prodottiRiepilogo - Array invertitoScorciatoie per gli array14Hash
Creare gli hashAccedere agli elementi di un hashModificare gli hashMetodi degli hashRiepilogo - Hash del prodottoSimboli come chiavi degli hash3Operatori, 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