リストから2つの要素を取り出し、リストの新しいリストを作成するErlangリストの理解を実装します。Erlang:Erlangリストの理解を実装する方法は?
私が正常に動作します。このコード
pair([], Acc) -> lists:reverse(Acc);
pair(L, Acc0) ->
[ A, B | T ] = L,
Acc = [ [A, B] | Acc0 ],
pair(T, Acc).
あります
7> l:pair(lists:seq(1,6), []).
[[1,2],[3,4],[5,6]]
を私はリスト内包としてこれを実装することができるはずのように思えます。私のErlang-fuはあまりに弱すぎてそれを考え出すことができません。
提案がありますか?それは必然的にリストのすべての要素に対して何かをしなければならないので、
おかげ
これはErlangのマントラ "let it crash"に従います。 '[a]'の場合 – Tilman
@Tilmanはい、関数は**定義されています**ので、リストに奇数の要素がある場合はエラーです。もちろん、その場合に何が起こるかを定義し、それ以降はそれを処理することができます。 – rvirding