我必须遍历一个列表中包含元素的序列,如Sequence = ["1","2","4","5"]
。需要准备9个列表,只能从Sequence
计算。我有以下foldl。通过折叠erlang在元组的不同列表中收集多个值
Accumulators = {[], [], [], [], [], [], [], [], []},
ReturnedTup = lists:foldl(fun(Seq, Acc) ->
{AccF1,AccF2,AccF3, AccF4,AccF5,AccF6, AccF7,AccF8,AccF9} = Acc,
F1 = get_seq_indexlist(Seq, "F1"),
F2 = get_seq_indexlist(Seq, "F2"),
F3 = get_seq_indexlist(Seq, "F3"),
...
F9 = get_seq_indexlist(Seq, "F9"),
[F1|AccF1], [F2|AccF2], [F3|AccF3], ...,[F9|AccF9],
Acc
end, Accumulators, Sequence),
io:format("~p ReturnedTup", [ReturnedTup]).
但在这里我得到ReturnedTup
空的,因为{[], [], [], [], [], [], [], [], []}
。我不确定它有什么不对。我在F1, F2, F3... F9
中获得适当的值。
我是erlang的新手。有可能是有效的方法来做到这一点。如果是这样,让我知道。
非常酷,这是一个学习我挺有趣的事情:) – trex 2014-09-19 07:33:05