要刪除Erlang列表中的重復項,可以使用以下函數:
-module(remove_duplicates).
-export([remove_duplicates/1]).
remove_duplicates(List) ->
F = fun(Elem, Acc) ->
case lists:member(Elem, Acc) of
true -> Acc;
false -> [Elem|Acc]
end
end,
lists:reverse(lists:foldl(F, [], List)).
使用該函數可以將一個包含重復項的列表轉換為一個不包含重復項的列表。例如:
remove_duplicates:remove_duplicates([1, 2, 3, 4, 4, 5, 6, 6, 7]).
% Output: [1,2,3,4,5,6,7]