我必須遍歷一個列表中包含元素的序列,如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