I propose to add `into: collectable` as optional third argument to
Enum.map.
This would allow mapping over things without first converting it to a list
and then convert it back.
So:
%{"a" => 1, "b" => 2}
|> Enum.map(fn {k, v} -> {String.upcase(k), v} end)
|> Enum.into(%{})
could be written as:
%{"a" => 1, "b" => 2}
|> Enum.map(fn {k, v} -> {String.upcase(k), v} end, into: %{})
Not having to do the list conversion in the middle might also improve
performance.
Right now, enumerating and collecting in one go is of course possible using
`Kernel.SpecialForms.for`. `for` is however not very pipeline-friendly.
What do you think?
Sincerely,
~Wiebe-Marten
--
You received this message because you are subscribed to the Google Groups
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elixir-lang-core/23c345b9-9ba1-48ea-8db0-6d2e9e700473%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.