匿名功能
這裡有 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
的引用。這兩個符號是語法糖。