Menu
Coddy logo textTech

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, city

Analogamente, il metodo values restituisce un array di tutti i valori:

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

puts person.values  # Stampa: Alice, 25, Paris

Per 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: false

Il metodo length ti dice quante coppie chiave-valore contiene l'hash:

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

puts person.length  # Restituisce: 3

Infine, empty? controlla se l'hash contiene delle coppie:

data = {}
puts data.empty?  # Stampa: true
challenge icon

Sfida

Facile

Leggi due righe di input:

  1. Un hash rappresentato come coppie chiave-valore separate da virgole nel formato key:value (ad es., name:Alice,age:25,city:Paris)
  2. 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:

  1. Stampa ogni chiave dell'hash (una per riga)
  2. Stampa --- come separatore
  3. Stampa ogni valore dell'hash (uno per riga)
  4. Stampa --- come separatore
  5. Stampa il numero di coppie chiave-valore nell'hash
  6. Stampa --- come separatore
  7. Stampa true o false per indicare se l'hash è vuoto
  8. Stampa --- come separatore
  9. Stampa true o false per 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
---
true

Se gli input sono product:Laptop,price:999 e stock, l'output dovrebbe essere:

product
price
---
Laptop
999
---
2
---
false
---
false

Se gli input sono status:active e status, l'output dovrebbe essere:

status
---
active
---
1
---
false
---
true

Provalo 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 hash
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