diff options
author | kballou <kballou@devnulllabs.io> | 2016-03-19 02:25:43 -0600 |
---|---|---|
committer | kballou <kballou@devnulllabs.io> | 2016-03-19 02:25:43 -0600 |
commit | 55304d7a2af90385b423fec92efe7ef5a19581de (patch) | |
tree | e15f31536b0f47b14d86a920006a2beeab9997d9 /src | |
parent | 1aebaea21cf70d65f948a7c3659473eaf5143d01 (diff) | |
download | func-w-elixir-55304d7a2af90385b423fec92efe7ef5a19581de.tar.gz func-w-elixir-55304d7a2af90385b423fec92efe7ef5a19581de.tar.xz |
Use prepend and reverse construction
Building the list by prepending (then reversing) over appending is
generally faster and more idiomatic
Diffstat (limited to 'src')
-rw-r--r-- | src/code/2/my_map_red.exs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/code/2/my_map_red.exs b/src/code/2/my_map_red.exs index 51f47f8..210efd1 100644 --- a/src/code/2/my_map_red.exs +++ b/src/code/2/my_map_red.exs @@ -6,7 +6,8 @@ defmodule MapReduce do def map([], _), do: [] def map(l, f) do - reduce(l, [], fn(x, acc) -> acc ++ [f.(x)] end) + reduce(l, [], fn(x, acc) -> [f.(x) | acc] end) + |> Enum.reverse end end |