循环和递归

为什么递归函数?

Erlang 是一种函数式编程语言,没有任何循环结构。函数式编程中的所有内容都基于数据,类型和函数。如果你想要一个循环,你需要创建一个自己调用的函数。

命令式和面向对象语言中的传统 whilefor 循环可以像 Erlang 中的那样表示:

loop() ->
  % do something here
  loop().

理解这个概念的好方法是扩展所有函数调用。我们将在其他例子中看到这一点。