erlang列表逆序和拼接

erlang也学了有一阵子了,环境也配置了.平常只是把书上的例子敲到电脑上去运行.也去看了一下ejabberd的代码,觉得还是要自己去写一些代码才可以实际掌握语言的编程理念,毕竟这是一门函数式编程语言.不同于一般其它的命令式编程.

   先从它的基本数据类型列表的处理开始吧.程序实现了列表的逆序,列表的连接.连接函数的参数是一个列表,列表每个元素也是一个列表.还是上代码吧

-module(mylists).
-export([reverse/1]).
-export([concate/1]).
-export([flatten/1]).

reverse([],Ret) -> Ret;
reverse([H|T],Ret) ->
Temp = [H|Ret],
reverse(T,Temp).

reverse(L) -> reverse(L,[]).

concate([],L) -> L;
concate([H|T],L) ->
Temp=[H|L],
concate(T,Temp).

concate([]) -> [];
concate([H|T]) ->
concate(reverse(H),concate(T)).
flatten(L) -> Temp = concate(L),
case Temp == L of
true -> Temp;
false -> flatten(Temp)
end.
在这里插入图片描述
CSDN: Erlang程序实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值