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([]) 两个的说明

clip_image002

line17: 一个 libmisc 模块

line18: 使用1个参数

clip_image004

line17: 一个 libmiscfor 模块

line18: 使用3个参数

· 匹配模式初阶

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

clip_image006

提取匹配字段

clip_image008

· 列表

clip_image010

提取列表元素

clip_image012

· 形状面积

geometry.erl

clip_image014

shell 中传值 求解

clip_image016

 

· 购物系统

shop.erl -- 购物清单

clip_image024

shell执行

clip_image026

shopping.erl -- 购物函数

clip_image028

shell执行

clip_image030

Tips:

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

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

· sum递归函数

libmisc.erl

clip_image032

shell执行:

clip_image034

libmiscsum.erl -- 高斯函数

clip_image036

shell执行

clip_image038

· for循环结构

libmiscfor.erl

clip_image040

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) -- 待添加

posted @ 2014-01-25 15:35  GAnnie  阅读(223)  评论(0编辑  收藏  举报