gpt4 book ai didi

二郎 : how to implement Erlang list comprehension ?

转载 作者:行者123 更新时间:2023-12-04 14:16:35 25 4
gpt4 key购买 nike

实现一个 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]]

但似乎我应该能够将其实现为列表理解。我的二郎甫太弱了,想不出来。

有什么建议?

谢谢

最佳答案

不,列表理解不是这样做的好方法,根据定义,它们一次只能处理一个元素。在你的代码中真的不需要使用累加器,速度差异很小,here ,没有它就更清楚了。我认为至少是这样。

pairs([A,B|L]) ->
[[A,B]|pairs(L)];
pairs([]) -> [].

关于二郎 : how to implement Erlang list comprehension ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com