匿名功能
这里有 2 个基于前面例子的递归匿名函数的例子。首先,简单的无限循环:
InfiniteLoop = fun
R() ->
R() end.
其次,匿名函数执行循环遍历列表:
LoopOverList = fun
R([]) -> ok;
R([H|T]) ->
R(T) end.
这两个功能可以改写为:
InfiniteLoop = fun loop/0.
在这种情况下,loop/0
是来自备注的 loop/0
的引用。其次,稍微复杂一点:
LoopOverLlist = fun loop/2.
这里,loop/2
是从列表示例中对 loop/2
的引用。这两个符号是语法糖。