首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Erlang 学习札记(一)

2012-12-25 
Erlang 学习笔记(一)Erlang 学习笔记(一)guibin.beijing@gmail.com本学习笔记为初级教程,是对erlang_getti

Erlang 学习笔记(一)
Erlang 学习笔记(一)
guibin.beijing@gmail.com

本学习笔记为初级教程,是对erlang_getting_started-5.4.pdf的总结,也是我个人学习过程中的总结。请各位高手指点,并给出学习建议,谢谢。

1. 顺序编程设计(Sequential Programming)
1.1 Erlang shell
启动Erlang,输入命令erl
引用$erl
Erlang R14B01 (erts-5.8.2) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.8.2  (abort with ^G)
1>
退出Erlang shell有三种方法: 按照进入Erlang shell时的提示输入 Control-G,看到如下输出:引用User switch command
-->

然后输入q回车,退出  和平常终止程序的习惯一样,使用Control-C,看到如下输出:引用BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution

然后输入a回车就退出Erlang shell.使用Erlang自己的函数退出,输入halt().回车。引用$ erl
Erlang R14B01 (erts-5.8.2) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.8.2  (abort with ^G)
1> halt().
$

注意函数结尾的"."号,这是必须的。在Erlang中点号表示一条语句的结束。

1.2 模块和函数
Erlang的代码文件扩展名是.erl,文件名和改代码文件中的代码模块名称相同。比如名称叫做tut的模块,其代码文件名称应该是:tut.erl。比如其代码文件的内容如下:
引用-module(tut).
-export([double/1]).

double(X) ->
    2 * X.

第一行-module(tut).定义了一个模块名称叫做tut,和该代码文件名相同,第二行-export([double/1]).说明该tut模块包含一个叫做double的函数能被tut模块之外的代码访问,并且这个函数有一个输入参数。第三行和第四行是名为double的函数的具体定义,别忘记函数定义完毕之后的"."号。

1.3 编译Erlang
将1.2中写完的代码保存到tut.erl,然后进入该文件所在目录下,输入erl命令,进入Erlang shell,输入c(tut).编译。
引用$ erl
Erlang R14B01 (erts-5.8.2) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.8.2  (abort with ^G)
1> c(tut).
{ok,tut}

编译之后输出{ok,tut}表明编译成功。去该目录下查看文件:
引用$ ls -l
total 32
-rw-r--r--  1 guibin  staff  460  2 25 10:44 tut.beam
-rw-r--r--  1 guibin  staff   60  2 24 10:43 tut.erl

发现生成了编译后的可执行文件but.beam。

1.4 调用函数
下面调用刚才定义好的函数double,计算30×2:
引用1> c(tut).
{ok,tut}
2> tut:double(30).
60
3>

tut:double(30).表示调用tut模块下面的double函数,输入参数为30,得到结果60。

热点排行