defmodule T do
def f() do
for {_, v} = e <- [a: 1, b: 2], v != nil, into: %{}, do: e
end
end
-module('Elixir.Tele2.T').
f() ->
maps:from_list(lists:reverse('Elixir.Enum':reduce(
[{a, 1}, {b, 2}], [],
fun
({_, _v@1} = _e@1, _@1) ->
case _v@1 /= nil of
true -> [_e@1 | _@1];
false -> _@1
end;
(_, _@1) -> _@1
end))).
вот и на кой черт он нужен, если он просто в reduce разворачивается?..
Да, for совсем не оптимизирован
я думал, что он оптимизированный и в этом его польза. а ее нет, оказывается =(
еще одна причина, по которой я удалялся из этого чята - не постить вот такое и поменьше об этом думать
да Валиму в большинстве случаев похер на опимизацию, главное фич побольше, но мр с оптимизированными вариантами реализаций приветствуются от сообщества
Обсуждают сегодня