Iterazione sugli hash
each, map, select
Iterazione sugli hash è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.
Iterazione con each
Il metodo each visita ogni coppia. Il blocco riceve la chiave e il valore.
scores = { math: 90, art: 80 }
scores.each do |subject, score|
puts "#{subject}: #{score}"
endeach_pair
each_pair è un alias di each per gli hash. Usi quello che rende il codice più chiaro.
h = { a: 1, b: 2 }
h.each_pair { |k, v| puts "#{k}=#{v}" }Iterazione sulle sole chiavi
each_key esegue un ciclo sulle chiavi quando i valori non sono necessari.
h = { name: "Ada", age: 36 }
h.each_key { |k| puts k }Iterazione sui soli valori
each_value esegue direttamente un ciclo sui valori.
h = { a: 10, b: 20 }
total = 0
h.each_value { |v| total += v }
puts totalTrasformazione con map
map applicato a un hash restituisce un array. Ogni coppia viene passata come chiave e valore.
prices = { pen: 2, book: 5 }
labels = prices.map { |item, p| "#{item}: $#{p}" }
puts labels.inspecttransform_values
transform_values restituisce un nuovo hash in cui ogni valore è modificato, mentre le chiavi rimangono invariate.
prices = { pen: 2, book: 5 }
doubled = prices.transform_values { |p| p * 2 }
puts doubledtransform_keys
transform_keys modifica le chiavi mantenendo invariati i valori. È utile per convertire le stringhe in simboli.
h = { "a" => 1, "b" => 2 }
puts h.transform_keys(&:to_sym)Filtraggio con select
select (alias filter) conserva le coppie per cui il blocco restituisce true e restituisce un nuovo hash.
scores = { a: 90, b: 50, c: 70 }
passing = scores.select { |k, v| v >= 70 }
puts passingRifiuto delle coppie
reject è l'opposto di select. Elimina le coppie per cui il blocco restituisce true.
scores = { a: 90, b: 50 }
puts scores.reject { |k, v| v < 60 }Ricerca e conteggio
find restituisce la prima coppia corrispondente come array. count con un blocco conta le corrispondenze.
h = { a: 1, b: 2, c: 3 }
puts h.find { |k, v| v == 2 }.inspect
puts h.count { |k, v| v.odd? }Somma dei valori
Combini values con sum per ottenere i totali oppure usi each_with_object per un'aggregazione personalizzata.
cart = { apple: 3, pear: 5 }
puts cart.values.sumControllo rapido
Verifichi le Sue conoscenze sull'iterazione degli hash.
Riepilogo
Ora sa iterare sugli hash:
each,each_key,each_valuemap,transform_values,transform_keysselect/rejectper filtrarefind,counte somma dei valori
Avanti: valori predefiniti e unione.
h = { a: 1, b: 2, c: 3 }
puts h.select { |k, v| v.odd? }Domande Frequenti
La lezione «Iterazione sugli hash» è gratuita?
Sì — il testo completo di «Iterazione sugli hash» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.
Cosa imparerò in «Iterazione sugli hash»?
each, map, select Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ruby Academy?
Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Iterazione sugli hash»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ruby Academy?
Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Simboli e stringhe
- Creare e leggere hash
- Iterazione sugli hash
- Valori predefiniti e fusione