Sobes.tech
Junior

Qual é a essência da função de agregação em Ruby?

sobes.tech IA

Resposta da IA

A função de agregação em Ruby aplica-se a uma coleção (por exemplo, uma matriz ou um hash) e reduz-na a um único valor, usando uma lógica de combinação ou cálculo definida.

Exemplos de métodos de agregação:

  • sum: Calcula a soma dos elementos da coleção.
    [1, 2, 3, 4].sum # => 10
    
  • count: Conta o número de elementos (ou elementos que satisfazem uma condição).
    [1, 2, 3, 2].count # => 4
    [1, 2, 3, 2].count(2) # => 2
    [1, 2, 3, 2].count { |x| x > 1 } # => 3
    
  • max/min: Encontra o elemento máximo/mínimo.
    [1, 5, 2, 8].max # => 8
    [1, 5, 2, 8].min # => 1
    
  • reduce/inject: A função de agregação mais flexível, que aplica um bloco ao acumulador e a cada elemento da coleção, retornando o valor final do acumulador.
    # Soma usando reduce
    [1, 2, 3, 4].reduce(0) { |sum, number| sum + number } # => 10
    
    # Concatenação de strings
    ['a', 'b', 'c'].reduce('') { |result, char| result + char } # => "abc"
    

A essência consiste em iterar sobre a coleção e construir ou calcular gradualmente um resultado final, único. Isso permite processar conjuntos de dados de forma eficiente e obter indicadores resumidos.