Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法
正如《代码的未来》中所说,为了充分利用多核,并发变成将成为未来发展的趋势,对于并发编程的支持,erlang确实是不二之选,erlang在国内仍然较为小众,经典书籍相对也要少很多,最终选择了《erlang程序设计 第2版》作为了我的第一本erlang入门书籍。
erlang官方网站:
erlang安装:
对于ubuntu和debian发行版可采用:apt-get install erlang 来安装;
对于其他 unix 和 linux 平台,可以下载源代码并手工构建它,具体如下所示:
download:
erlang是函数式编程语言,被设计主要用来解决自下而上的编写并发式、分布式、容错、可扩展和软实时系统等问题。
由于之前没有接触过函数式编程,还是从简单的顺序编程一步步来吧。
erlang进入shell编程环境很简单,与python类似,在终端直接输入erl即可,退出可使用 ctrl+c 再输入 a 的方法,但这样可能导致某些数据的破坏,最好使用 q().
注释:%
变量:所有变量名都必须以大写字母开头,变量一经赋值,不许改变,
模式匹配操作:
lhs = rhs 意思是计算右侧的值,然后将结果与左侧的模式相匹配;
x = expression,如果x之前没有被赋值,一定会匹配成功,x = anotherexpression,则只有在expression = anotherexpression时才匹配成功,否则匹配失败;
浮点数:
使用“/”给两个整数做除法时,结果会自动转换为浮点数;
要从除法里获得整数,必须使用div和rem;例如:5 div 3. 结果为1,5 rem 3. 结果为2;
原子:
原子被用于表示常量值,具有全局性,原子以小写字母开头,后接一串字母,数字,下划线或@符号;
原子可以放在单引号中,可以创建以大写字母开头或包含字母数字以外字符的原子,如:‘monday',‘+',‘a test paper'等,原子的值就是它本身;
元组:
为了方便理解,元组最好加上标签,例如:{point, 10, 45}.
创建元组:f = {firstname, joe}. l = {lastname, tom}. p = {person, f, l}.
提取firstname:{_, {_, who}, {_, _}} = p.
列表:
列表中的各元素可以是任何类型,[h|t]中h为列表头,t为列表尾,例如:
l = [{name, tom}, 1, 2.0, test, {point, 10, 23}].
[h|t] = l.
则,h = {name, tom}, t = [1, 2.0, test, {point, 10, 23}].
字符串:
字符串字面量就是用双引号围起来的一串字符,例如:
n = "hello". "hello"其实只是一个列表的简写,这个列表包含了代表字符串里各个字符的整数字符代码。
x = [97, 98, 99] .
打印出"abc".
io:format("~w~n", ["abc"]).
打印出[97, 98, 99]
[h|t] = "cat". h = 99, t = "at".
f()让shell忘记现有的任何绑定。
上一篇: Erlang实现的百度云推送Android服务端实例
下一篇: Python--range()函数