よくわかってない。Prologともちょっとだけ違う感じなのかなぁ。
-module(list).
-export([listprint/1]).
listprint(A) ->
listprint1(A,[]).
listprint1([],Sum) ->
Sum;
listprint1([H|T], Sum) ->
listprint1(T, Sum ++ [H*2] ).
実行結果
1>c("list").
{ok,list}
2> list:listprint([1,2,3,4,5]).
[2,4,6,8,10]