Palavras-chave: Ruby, array
Para contar a frequência com que os valores de um array se repetem, podemos utilizar:
array = %w(morango abacaxi banana morango pera morango abacate banana) p array.inject(Hash.new(0)) {|memo,value| memo[value] += 1; memo}
Será retornada uma hash com os valores como chave e a frequência de repetição como valores.
O segredo é usar uma hash com valor default e retorná-la no final do bloco do inject. Rodando o programa vamos ter:
{"banana"=>2, "abacate"=>1, "pera"=>1, "abacaxi"=>1, "morango"=>3}