fun module:name/arity
является значением функции, эквивалентным следующему:
fun(A1,A2,...,AN) -> module:name(A1,A2,...,AN) end
, где N - arity
. Короче говоря, это полезный способ передать нормальные функции Эрланга в качестве аргументов другим функциям, которые ожидают функцию в качестве аргумента.
Пример:
Чтобы преобразовать список List
в набор:
lists:foldl(fun sets:add_element/2, sets:new(), List).
Эквивалентно:
lists:foldl(fun (E, S) -> sets:add_element(E, S) end, sets:new(), L).
(Последнее - определение, используемое в модуле OTP set
для функции from_list
.)
Подробнее здесь .