Sobes.tech
Junior

Na czym polega funkcja agregująca w Ruby?

sobes.tech AI

Odpowiedź od AI

Funkcja agregująca w Ruby jest stosowana do kolekcji (np. tablicy lub hasza) i redukuje ją do jednej wartości, używając określonej logiki łączenia lub obliczania.

Przykłady metod agregujących:

  • sum: Oblicza sumę elementów kolekcji.
    [1, 2, 3, 4].sum # => 10
    
  • count: Liczy liczbę elementów (lub elementów spełniających warunek).
    [1, 2, 3, 2].count # => 4
    [1, 2, 3, 2].count(2) # => 2
    [1, 2, 3, 2].count { |x| x > 1 } # => 3
    
  • max/min: Znajduje element maksymalny/maksymalny.
    [1, 5, 2, 8].max # => 8
    [1, 5, 2, 8].min # => 1
    
  • reduce/inject: Najbardziej elastyczna funkcja agregująca, która stosuje blok do akumulatora i każdego elementu kolekcji, zwracając końcową wartość akumulatora.
    # Suma z użyciem reduce
    [1, 2, 3, 4].reduce(0) { |sum, number| sum + number } # => 10
    
    # Konkatenacja łańcuchów
    ['a', 'b', 'c'].reduce('') { |result, char| result + char } # => "abc"
    

Istota polega na iteracji po kolekcji i stopniowym budowaniu lub obliczaniu końcowego, pojedynczego wyniku. Pozwala to na efektywne przetwarzanie zbiorów danych i uzyskiwanie wskaźników podsumowujących.