概要:在原有的概念中,递归是一个比较低效的实现方式。但Erlang是天生的递归大师。
题目:
一口井10米,蜗牛白天爬3米,夜晚滑2米。蜗牛几天能爬出?
代码:
-module(snail).
-export([climb/2]).
climb(High,Day) ->
if
High + 3 < 10 ->
climb(High + 1,Day +1);
High + 3 ==10 ->
Day + 1
end.
运行:
Eshell V5.8.3 (abort with ^G)
1> c(snail).
{ok,snail}
2> snail:climb(0,0).
8