Metodi degli hash
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 76 di 88.
Ruby fornisce diversi metodi integrati che ti aiutano a esaminare e utilizzare gli hash in modo più efficace. Questi metodi ti consentono di accedere rapidamente alle informazioni sui contenuti del tuo hash.
Il metodo keys restituisce un array di tutte le chiavi dell'hash:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Restituisce: name, age, cityAnalogamente, il metodo values restituisce un array di tutti i valori:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Stampa: Alice, 25, ParisPer verificare se esiste una chiave specifica, usa key? o il suo alias has_key?:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Restituisce: true
puts person.key?("country") # Restituisce: falseIl metodo length ti dice quante coppie chiave-valore contiene l'hash:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Restituisce: 3Infine, empty? controlla se l'hash contiene delle coppie:
data = {}
puts data.empty? # Stampa: trueSfida
FacileLeggi due righe di input:
- Un hash rappresentato come coppie chiave-valore separate da virgole nel formato
key:value(ad es.,name:Alice,age:25,city:Paris) - Una chiave di cui verificare l'esistenza (stringa)
Analizza il primo input per creare un hash, poi usa i metodi degli hash che hai imparato per stampare le seguenti informazioni, ciascuna su una riga:
- Stampa ogni chiave dell'hash (una per riga)
- Stampa
---come separatore - Stampa ogni valore dell'hash (uno per riga)
- Stampa
---come separatore - Stampa il numero di coppie chiave-valore nell'hash
- Stampa
---come separatore - Stampa
trueofalseper indicare se l'hash è vuoto - Stampa
---come separatore - Stampa
trueofalseper indicare se la chiave del secondo input esiste nell'hash
Ad esempio, se gli input sono name:Alice,age:25,city:Paris e age, l'output dovrebbe essere:
name
age
city
---
Alice
25
Paris
---
3
---
false
---
trueSe gli input sono product:Laptop,price:999 e stock, l'output dovrebbe essere:
product
price
---
Laptop
999
---
2
---
false
---
falseSe gli input sono status:active e status, l'output dovrebbe essere:
status
---
active
---
1
---
false
---
trueProvalo tu
# Leggi l'input
input_string = gets.chomp
key_to_check = gets.chomp
# Analizza la stringa di input per creare un hash
hash = {}
input_string.split(',').each do |pair|
key, value = pair.split(':')
hash[key] = value
end
# TODO: Scrivi il tuo codice qui sotto
# Usa i metodi di hash per:
# 1. Stampa ogni chiave (una per riga)
# 2. Stampa "---" come separatore
# 3. Stampa ogni valore (uno per riga)
# 4. Stampa "---" come separatore
# 5. Stampa il numero di coppie chiave-valore
# 6. Stampa "---" come separatore
# 7. Stampa true/false se hash è vuoto
# 8. Stampa "---" come separatore
# 9. Stampa true/false se key_to_check esiste in hashQuesta 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