summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkballou <kballou@devnulllabs.io>2016-03-19 02:25:43 -0600
committerkballou <kballou@devnulllabs.io>2016-03-19 02:25:43 -0600
commit55304d7a2af90385b423fec92efe7ef5a19581de (patch)
treee15f31536b0f47b14d86a920006a2beeab9997d9 /src
parent1aebaea21cf70d65f948a7c3659473eaf5143d01 (diff)
downloadfunc-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.exs3
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