Erlang学习笔记(二)

来源:互联网 发布:python legend 编辑:程序博客网 时间:2024/06/05 07:36

Erlang的并发特性源自语言本身而并非操作系统。它把现实世界模拟成一系列的进程,其间仅靠交换消息进行互动,因此Erlang简化了并行编程。在Erlang世界中,存在并行进程但是没有锁,没有同步方法,也不存在内存污染的可能,因为Erlang根本没有共享内存.

Erlang程序可以由几百万个超级轻量级的进程组成。这些进程可以运行在单处理器、多核处理器或者处理器网络上。

安装Erlang: 

windows下:http://www.erlang.org/download.html中找到各个版本的下载列表.

启动shell:

在命令行输入erl

变量:

erlang所以变量都必须大写字母开头.

变量不变:

erlang的变量是单一赋值变量,单一赋值变量的值只能一次性的给定.一个变量一旦被赋了值,想再次改变它,就会得到一个错误.一个变量如果含有一个呗赋予的值,就称为绑定变量,否则,则称作自由变量.一开始,所有的变量都是赋值的.

模式匹配:

在Erlang中,=表示一个模式匹配操作,Lhs=Rhs,实际是这样一个过程,对右端求值(Rhs),然后将结果与左端(Lhs)进行模式匹配.

在等号的左边,无论是绑定的还是自由的,这些模式都只是变量。而元组和列表,通常用于存储复合数据。

Erlang没有可变状态,也没有共享内存,更没有锁,这一切都有利于并行化程序的编写。

浮点数:

“/”永远返回浮点数。

原子:

在Erlang中,原子用了表示不同的非数字常量值。

Erlang中原子是全局有效的,而且无需使用宏定义或者包含文件。

原子是一串以小写字母开头,后跟数字字母或者下划线(_)或者邮件符号(@)的字符。

一个原子的值就是原子自身。

Erlang是一个函数式的语言,每一个表达式都必须有值,整数和原子也不例外.

元组:

将一定数量的项组成单一的实体,就可以使用元组。将若干个以逗号分割的值用一对花括号括起来,就形成一个元组。

如:{mike,1.32}.这个元组一个原子和一个浮点值。

从元组中提取字段值:

Point={point,10,45}.

{point,X,Y}=Point.

X.

Y.

_表示占位符,表示哪些我们不关心的变量,符号_称为匿名变量。

列表:

将若干个以逗号分割的值用一对方括号括起来,就形成了一个列表。

定义列表:

如果T是一个列表,那么[H|T]也是一个列表,这个列表以H为头,以T为尾,竖线符号(|)可以将列表的头和尾分割开来,而[]则是空列表.

一个非空列表[X|Y]=L(这里X,Y都是自由变量),可以把列表的头提取到X,将列表的尾提取到Y.

字符串:

Erlang种没有字符串,字符串实际就是一个整数列表,用“”将一串字符括起来就是一个字符串.

最后记住  命令f()会让shell释放它所绑定过的所有变量.





0 0
原创粉丝点击