Ruby · Intermediário · Inglês · Técnico
group by
Método de Enumerable que agrupa os elementos pelo resultado do bloco e devolve um hash, com a chave do grupo apontando para o array de itens.
Onde usar
Aparece em relatórios e agrupamentos em memória, como pedidos por status. Para volumes grandes, prefira agrupar no banco com GROUP BY.
Em código
nomes = %w[ana bia alice bruno]
g = nomes.group_by { |n| n[0] }
p g.keys # => ["a", "b"]
p g["a"] # => ["ana", "alice"]Exemplos
Group the orders by status before rendering.
Agrupe os pedidos por status antes de renderizar.
Group by returns a hash of arrays.
O group by devolve um hash de arrays.
Cuidado
Não o confunda com o GROUP BY do SQL nem com tally, que só conta ocorrências em vez de guardar os itens.