медленнее, на самом деле это будет иметь поведение O (n ^ 2), которого следует избегать, как ад. Если вы не хотите использовать реверс, просто используйте рекурсивное тело вместо хвостового и не используйте

ичок в изучении 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]).

Мой вопрос таков: неправильно составлять список с помощью рекурсивной функции, а затем полностью изменить его в конце. Есть ли способ построить список в правильном порядке, поэтому нам не нужно обратное?

Ответы на вопрос(2)

Ваш ответ на вопрос