Credence.Pattern.NoGroupByForFrequencies
(credence v0.7.0)
Copy Markdown
Detects Enum.group_by(enum, key_fn) |> Map.new(fn {k, group} -> {k, length(group)} end)
which counts occurrences by key — exactly what Enum.frequencies_by/2 does, but with
unnecessary intermediate per-group lists.
Bad
Enum.group_by(words, &String.downcase/1)
|> Map.new(fn {key, group} -> {key, length(group)} end)
Map.new(Enum.group_by(words, &String.downcase/1), fn {k, g} -> {k, length(g)} end)Good
Enum.frequencies_by(words, &String.downcase/1)