2012年7月14日
摘要: 开胃菜: 同名不同目的函数:所谓目就是指函数的参数。它们会被认为是两个不同的函数,除了它们的名字恰巧相同之外,它们彼此没有再没有任何联系。正题:fun: fun就是一个匿名函数,所谓匿名,是因为它没有名字。我们来做点实验,先定义一个fun函数,然后把它赋给Z。 11> Z=fun(X)->2*X end.#Fun<erl_eval.6.111823515>当定义fun函数时,系统通常会打印出来一串奇怪的数字,先不用管他。输入:12> Z(2).4fun可以拥有任意数量的参数。比如:13> Hypot=fun(X,Y)->math:sqrt(X*X+Y* 阅读全文
posted @ 2012-07-14 23:57 百万军中 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 函数: 举例如下:-module(geometry).-export([area/1]).area({rectangle,Width,Ht})->Width*Ht;area({circle,R}) ->3.14159*R;area({square,X}) ->X*X. area函数有两个子句组成,子句间以分号分割,最后一条子句以句号结束。每一个子句都有一个函数头和一个函数体,函数头由函数名和随后以括号括起来的模式组成,函数体则由一系列表达式组成,如果函数头中的模式与调用参数匹配成功的话,其对应的表达式就会计算。模式将会按照它们出现在函数定义中的先后顺序进... 阅读全文
posted @ 2012-07-14 23:13 百万军中 阅读(209) 评论(0) 推荐(0) 编辑