Я начинаю изучать Erlang. Прочитав о понимании списков и рекурсии в Erlang, я хотел попробовать реализовать свою собственную функцию map
, которая оказалась такой:
% Map: Map all elements in a list by a function
map(List,Fun) -> map(List,Fun,[]).
map([],_,Acc) -> lists:reverse(Acc);
map([H|T],Fun,Acc) -> map(T,Fun,[Fun(H)|Acc]).
Мой вопрос: мне кажется неправильным создавать список с помощью рекурсивная функция, а затем отмените ее в конце. Есть ли способ составить список в правильном порядке, чтобы мы не не нужен ли обратный?