0Pricing
Ruby Academy · Lezione

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}"
end

each_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 total

Trasformazione 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.inspect

transform_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 doubled

transform_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 passing

Rifiuto 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.sum

Controllo rapido

Verifichi le Sue conoscenze sull'iterazione degli hash.

Riepilogo

Ora sa iterare sugli hash:

  • each, each_key, each_value
  • map, transform_values, transform_keys
  • select/reject per filtrare
  • find, count e 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

  1. Simboli e stringhe
  2. Creare e leggere hash
  3. Iterazione sugli hash
  4. Valori predefiniti e fusione
← Torna a Ruby Academy