Enum.into/3 should do what you want :)
On Thursday, 7 July 2016, Wiebe-Marten Wijnja <[email protected]>
wrote:
> 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]
> <javascript:_e(%7B%7D,'cvml','elixir-lang-core%[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
> <https://groups.google.com/d/msgid/elixir-lang-core/23c345b9-9ba1-48ea-8db0-6d2e9e700473%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
Andrea Leopardi
[email protected]
--
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/CAM9Rf%2BLY6tyh%3DE6iM%2BA7rmyY8dKP-ddCJpB%2BWZDn0jCuJ7FKaA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.