Iteratori și Modulul Enumerable în Ruby: each, map, select, reject și reduce în Ruby

Ghid complet pentru modulul Enumerable în Ruby: transformarea colecțiilor cu each, map, select, reject, reduce/inject și scurtătura &:to_s.

Sintaxă
numere.map(&:to_s) | note.select { |n| n >= 5 } | preturi.sum

Modulul Enumerable este unul dintre cele mai admirate componente ale limbajului Ruby. Orice clasă care implementează metoda each primește automat zeci de metode funcționale de căutare, filtrare, transformare și agregare.

Pipeline de transformare a unei colecții în Ruby
note_elevi = [4, 7, 10, 5, 3, 8, 9, 6]

# 1. Filtrare cu select (păstrează doar notele de trecere):
note_promovate = note_elevi.select { |nota| nota >= 5 }
puts "Note promovate: #{note_promovate.inspect}" # [7, 10, 5, 8, 9, 6]

# 2. Respingere cu reject (elimină notele mari):
note_mici = note_elevi.reject { |nota| nota >= 5 }
puts "Note sub 5: #{note_mici.inspect}" # [4, 3]

# 3. Transformare cu map (crește fiecare notă cu 1 punct, max 10):
note_ajustate = note_elevi.map { |nota| [nota + 1, 10].min }
puts "Note ajustate: #{note_ajustate.inspect}"

# 4. Scurtătura Symbol#to_proc (&:nume_metoda):
cuvinte = ["bucuresti", "cluj", "iasi", "timisoara"]
orase_mari = cuvinte.map(&:capitalize)
puts "Orașe capitalizate: #{orase_mari.join(', ')}"

# 5. Agregare totală cu reduce (inject):
suma_totala = note_elevi.reduce(0) { |total, n| total + n }
puts "Suma notelor: #{suma_totala}"
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Iteratori și Modulul Enumerable în Ruby: each, map, select, reject și reduce

Ai o nelămurire despre utilizarea comenzii Iteratori și Modulul Enumerable în Ruby: each, map, select, reject și reduce sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.