АП
Size: a a a
АП
АП
АП
MacBook-Pro-Artem:taxi artempankov$ cat .tool-versions
elixir 1.7.3-otp-21
erlang 21.0
АП
R
# 1
Enum.reduce_while(list, {:ok, []}, fn arg, {_, acc} ->
case my_fun(arg) do
{:ok, result} -> {:cont, {:ok, [result | acc]}}
{:error, err} -> {:halt, {:error, err}}
end
end)
# 2
Enum.reduce(list, %{results: [], errors: []}, fn arg, acc ->
case my_fun(arg) do
{:ok, result} -> %{acc | results: [result | acc.results]}
{:error, err} -> %{acc | errors: [err | acc.errors]}
end
end)
ŹR
# 1
Enum.reduce_while(list, {:ok, []}, fn arg, {_, acc} ->
case my_fun(arg) do
{:ok, result} -> {:cont, {:ok, [result | acc]}}
{:error, err} -> {:halt, {:error, err}}
end
end)
# 2
Enum.reduce(list, %{results: [], errors: []}, fn arg, acc ->
case my_fun(arg) do
{:ok, result} -> %{acc | results: [result | acc.results]}
{:error, err} -> %{acc | errors: [err | acc.errors]}
end
end)
ŹR
ŹR
ŹR
ŹR
ŹR
ŹR
R
R
R
ŹR
ŹR
R
R
R