-module(my_tuple_to_list).
-export([my/1]).
my(L) -> [element(X, L) || X <- lists:seq(1, tuple_size(L))].
解释:lists:seq(1, N)返回一个包含从1到N所有整数的列表,element(X, L)返回列表L里的第X个的值,整个是一个列表推导,返回又给列表。
第7题:
归集器:
-module(math_functions).
-export([split/1,filter/3]).
split(L) -> split2(L, [], []).
split2([H|L], Even, Odd) ->
case (H rem 2) of
1 -> split2(L--[H], Even, [H|Odd]);
0 -> split2(L--[H], [H|Even], Odd)
end;
split2([], Even, Odd) ->
{lists:reverse(Even), lists:reverse(Odd)}.
filter函数:
filter(F, G, L) ->
Even = [X || X <- L, F(X) =:= true],
Odd = [X || X <- L, G(X) =:= true],
{Even, Odd}.
F = fun(X) -> (X rem 2) =:= 0 end.
G = fun(X) -> (X rem 2) =:= 1 end.