1. 一个简单的循环例子:列表中的整数加1
-module(temp). -export([bump/1]). % bump/1 bump([]) -> []; % 返回一个空列表 bump([Head|Tail]) -> [Head+1|bump(Tail)]. % 当前值+1,继续递归处理后面的元素
2. 剔除列表中的奇数
even([]) -> []; even([Head | Tail]) when Head rem 2 == 0 -> [Head | even(Tail)]; even([_ | Tail]) -> even(Tail).
3. 判断列表中是否存在一个元素
member(_, []) -> false; member(H, [H | _]) -> true; member(H, [_ | T]) -> member(H, T).
4. 改进第一个循环整数加1的列子
bump_acc([], Acc) -> reverse(Acc); bump_acc([Head | Tail], Acc) -> bump_acc(Tail, [Head + 1 | Acc]). reverse_acc([], Acc) -> Acc; reverse_acc([H | T], Acc) -> reverse_acc(T, [H | Acc]).
.