當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。