欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法

程序员文章站 2022-03-07 12:38:06
正如《代码的未来》中所说,为了充分利用多核,并发变成将成为未来发展的趋势,对于并发编程的支持,erlang确实是不二之选,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忘记现有的任何绑定。