ErlangRoad_1

Erlang : Erlang程序设计

22 一月 2014 11:34:07 AM

之前断断续续看过一些关于Erlang方面的东西,接触Erlang pdf程序设计,今仅作为日后备用方案予以记录,包括以下内容:

附:Erlang配置部分移步 http://www.cnblogs.com/me-sa/archive/2011/07/03/erlang0002.html

· -module() export([]) 两个的说明

· 匹配模式初阶

· 列表

· 形状面积求解

· 购物系统

· sum递归函数

· for循环结构

· -module() export([]) 两个的说明

ErlangRoad_1

line17: 一个 libmisc 模块

line18: 使用1个参数

ErlangRoad_1

line17: 一个 libmiscfor 模块

line18: 使用3个参数

· 匹配模式初阶

直接贴代码(shell中执行):

ErlangRoad_1

提取匹配字段

ErlangRoad_1

· 列表

ErlangRoad_1

提取列表元素

ErlangRoad_1

· 形状面积

geometry.erl

ErlangRoad_1

shell 中传值 求解

ErlangRoad_1

 

· 购物系统

shop.erl -- 购物清单

ErlangRoad_1

shell执行

ErlangRoad_1

shopping.erl -- 购物函数

ErlangRoad_1

shell执行

ErlangRoad_1

Tips:

这里shopping.erl 中调用到 shop:cost(What) 即从 shop.erl 中获取清单中的物品个数

shopping:total([{milk, 3}]). 这里的 3 即为单价

· sum递归函数

libmisc.erl

ErlangRoad_1

shell执行:

ErlangRoad_1

libmiscsum.erl -- 高斯函数

ErlangRoad_1

shell执行

ErlangRoad_1

· for循环结构

libmiscfor.erl

ErlangRoad_1

Tips(Three Point):

a、 line18: 参数为 3

b、 当 Min > Max 是返回错误,如下:

for(Min, Max, _F) when Min > Max -> error;

应添加判断,如下:

for(Min, Max, _F) when Min > Max -> for(Max, Min, _F).

c、 尾递归问题(类似尾调用 -- Lua) -- 待添加

ErlangRoad_1

上一篇:腾讯微博广告平台--监控系统的开发与总结


下一篇:Infopath发布