匿名功能

这里有 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 的引用。这两个符号是语法糖。