Sobes.tech
Junior

Care este esența funcției de agregare în Ruby?

sobes.tech AI

Răspuns de la AI

Funcția de agregare în Ruby se aplică unei colecții (de exemplu, un array sau un hash) și o reduce la o singură valoare, utilizând o logică de combinare sau calcul definită.

Exemple de metode de agregare:

  • sum: Calculează suma elementelor colecției.
    [1, 2, 3, 4].sum # => 10
    
  • count: Numără numărul de elemente (sau elemente care îndeplinesc o condiție).
    [1, 2, 3, 2].count # => 4
    [1, 2, 3, 2].count(2) # => 2
    [1, 2, 3, 2].count { |x| x > 1 } # => 3
    
  • max/min: Găsește elementul maxim/minim.
    [1, 5, 2, 8].max # => 8
    [1, 5, 2, 8].min # => 1
    
  • reduce/inject: Cea mai flexibilă funcție de agregare, care aplică un bloc la acumulator și fiecărui element al colecției, returnând valoarea finală a acumulatorului.
    # Suma folosind reduce
    [1, 2, 3, 4].reduce(0) { |sum, number| sum + number } # => 10
    
    # Concatenarea șirurilor
    ['a', 'b', 'c'].reduce('') { |result, char| result + char } # => "abc"
    

Esenta constă în iterarea peste colecție și construirea sau calcularea treptată a unui rezultat final, unic. Acest lucru permite procesarea eficientă a seturilor de date și obținerea unor indicatori rezumați.