当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang foldr(Fun, Acc0, List)用法及代码示例


foldr(Fun, Acc0, List) -> Acc1
类型:
Fun = fun((Elem :: T, AccIn) -> AccOut)
Acc0 = Acc1 = AccIn = AccOut = term()
List = [T]
T = term()

就像foldl/3,但列表是从右向左遍历的。

例子:

> P = fun(A, AccIn) -> io:format("~p ", [A]), AccIn end.
#Fun<erl_eval.12.2225172>
> lists:foldl(P, void, [1,2,3]).
1 2 3 void
> lists:foldr(P, void, [1,2,3]).
3 2 1 void

foldl/3 是尾递归,通常优于 foldr/3

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 foldr(Fun, Acc0, List) -> Acc1。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。