読者です 読者をやめる 読者になる 読者になる

lists

Erlang

 写経中に出会ったlists関連の関数を試してみます。

lists:flatten

19> lists:flatten([1, 2, 3]).
[1,2,3]
20> lists:flatten([1, [2, 3]]).
[1,2,3]

lists:reverse

22> lists:reverse([1, 2, 3]).
[3,2,1]
23> lists:reverse([1, [2, 3]]).
[[2,3],1]

lists:nth

25> lists:nth(1, [1, 2, 3]).   
1
26> lists:nth(2, [1, 2, 3]).
2

lists:map

28> lists:map(fun(X) -> X * 2 end, [1, 2, 3]).
[2,4,6]

lists:keymember

 これは関数名からは何をするのかよく分からなかったので、ドキュメントを見たのですが、それでもよく分からない・・・

lists:foreach

32> lists:foreach(fun(X) -> io:format("~p~n", [X]) end, [1, 2, 3]).
1
2
3
ok

lists:seq

 ドキュメントを見たらすぐに分かりました。

33> lists:seq(1, 10).
[1,2,3,4,5,6,7,8,9,10]
34> lists:seq(1, 10, 2).
[1,3,5,7,9]

lists:sort

35> lists:sort([1, 5, 2, 7]).
[1,2,5,7]

lists:filter

47> lists:filter(fun(X) -> X rem 2 == 0 end, [1, 2, 3, 4]).
[2,4]