2012年7月16日
摘要: 简单的列表处理 sum、map函数和测试如下: -module(mylists).-export([sum/1]).-export([map/2]).sum([H|T]) ->H+sum(T);sum([]) ->0.map(_,[]) ->[];map(F,[H|T]) ->[F(H)|map(F,T)].sum函数只是简单的计算列表中各个元素之和;map/2函数第一个子句对空列表不做任何处理,第二个子句对一个列表生成一个新的列表,其头是F(H),尾是map(F,T).5> L=[1,3,7]. [1,3,7]6> mylists:sum(L... 阅读全文
posted @ 2012-07-16 19:13 百万军中 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 定义自己的控制流程(for) Erlang没有for循环,我们先定义一个:-module(loop_for).-export([for/3]).for(Max,Max,F) ->[F(Max)];for(I,Max,F) ->[F(I)|for(I+1,Max,F)].就这么简单,例如,对for(1,10,F)求值会生成列表[F(1),F(2),……F(10)]。现在有了一个for循环,可以用它来创建1到10的整数列表和平方列表2> loop_for:for(1,10,fun(I)->I end).[1,2,3,4,5,6,7,8,9,10]3>... 阅读全文
posted @ 2012-07-16 18:50 百万军中 阅读(163) 评论(0) 推荐(0) 编辑