Sobes.tech
Junior

V čem spočívá agregační funkce v Ruby?

sobes.tech AI

Odpověď od AI

Agregační funkce v Ruby se používá na kolekci (například pole nebo hash) a zredukuje ji na jednu hodnotu pomocí definované logiky spojování nebo výpočtu.

Příklady agregačních metod:

  • sum: Vypočítá součet prvků kolekce.
    [1, 2, 3, 4].sum # => 10
    
  • count: Spočítá počet prvků (nebo prvků splňujících podmínku).
    [1, 2, 3, 2].count # => 4
    [1, 2, 3, 2].count(2) # => 2
    [1, 2, 3, 2].count { |x| x > 1 } # => 3
    
  • max/min: Najde maximální/minimální prvek.
    [1, 5, 2, 8].max # => 8
    [1, 5, 2, 8].min # => 1
    
  • reduce/inject: Nejvíce flexibilní agregační funkce, která aplikuje blok na akumulátor a každý prvek kolekce, vrací konečnou hodnotu akumulátoru.
    # Součet pomocí reduce
    [1, 2, 3, 4].reduce(0) { |sum, number| sum + number } # => 10
    
    # Slučování řetězců
    ['a', 'b', 'c'].reduce('') { |result, char| result + char } # => "abc"
    

Podstata spočívá v iteraci přes kolekci a postupném vytváření nebo výpočtu konečného, jedinečného výsledku. To umožňuje efektivní zpracování datových sad a získání souhrnných ukazatelů.