Merge pull request #3811 from michalmuskala/optimize_map

Optimize Enum.map/2 for lists

Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
This commit is contained in:
José Valim
2015-10-01 16:41:58 +02:00
committed by José Valim
parent 448f473d08
commit 05fecbcbcf
+8 -2
View File
@@ -1039,8 +1039,14 @@ defmodule Enum do
"""
@spec map(t, (element -> any)) :: list
def map(collection, fun) when is_list(collection) do
for item <- collection, do: fun.(item)
def map(enumerable, fun)
def map([], _fun) do
[]
end
def map([head | tail], fun) do
[fun.(head) | map(tail, fun)]
end
def map(collection, fun) do