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


erlang fold(Function, Acc0, QH)用法及代码示例


fold(Function, Acc0, QH) -> Acc1 | Error
fold(Function, Acc0, QH, Options) -> Acc1 | Error
类型:
QH = query_handle_or_list()
Function = fun((answer(), AccIn) -> AccOut)
Acc0 = Acc1 = AccIn = AccOut = term()
Options = [Option] | Option
Option = 
    {cache_all, cache()} |
    cache_all |
    {max_list_size, max_list_size()} |
    {tmpdir_usage, tmp_file_usage()} |
    {tmpdir, tmp_directory()} |
    {unique_all, boolean()} |
    unique_all
Error = {error, module(), Reason}
Reason = file_sorter:reason()

对查询句柄的连续答案以及额外参数 AccIn 调用 Function 。查询句柄和函数在调用过程中进行评估。 Function 必须返回一个新的累加器,该累加器将传递给下一个调用。如果查询句柄没有答案,则返回Acc0

例子:

1> QH = [1,2,3,4,5,6],
qlc:fold(fun(X, Sum) -> X + Sum end, 0, QH).
21

fold(Function, Acc0, QH) 相当于 fold(Function, Acc0, QH, [])

相关用法


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