一:开始
每条语句以一个“.”结束
Erlang遵守四则表达式的规则
可以计算很大的数字
二:变量
1.所有的变量名都必须以大写字母开头
2.变量只能赋值一次。即变量不能多次赋值,否则会得到一个错误
首先:用户定义的变量并不是真正意义上的变量;
其次:"="并不是一个赋值操作符
3.事实上"="是一个模式匹配操作符,对于一个未绑定变量来讲,它的行为类似与赋值操作
4.变量有作用域,即多个函数内的同一个变量有不同的值
5.Erlang中的=号是一个模式匹配操作符
6.=号的作用是先计算右边的操作数类型,然后与左值的类型匹配
7.对于一个变量,它只是一种简单的类型。未绑定变量作为左值时先是给它匹配上一个右值类型
8.=号的右值可以是变量或其他的类型,如序列和列表
注:由于变量的一次赋值性,在Erlang中没有共享内存,所以便于编写并行化的程序。
三:浮点数
1. /号返回浮点数除法的商
2.div 号返回整数除法的商
3.rem 号返回整数除法的余数
四:原子量(Atoms)
1.Erlang中atoms用来表示不同的常量
2.atoms是全局性的
3.atoms以小写字母开头,后面跟上数字,字符,下划线,或“@”,例如:: red,
december, cat, meters, yards, joe@somehost, and a_long_name.
4.atoms可以用单引号引起来,使用这种形式后可以创建大写字符开头的atoms,或
者包含非数值字符的atoms,例如’Monday’, ’Tuesday’, ’+’, ’*’,
’an atom with spaces’
5.atoms的值只是atom
五:元组(Tuples)
1.使用tuple可以实现复杂的数据结构
2.使用封闭的花括号创建tuple,其中的数据项是匿名的
3.tuples可以嵌套使用
4.tuple有垃圾回收机制,无需自己整理内存,当变量不使用后可以自动回收空间。
5.可以将一个tuple绑定到一个变量上,之后这个变量也就有了相同的结构
6.可以使用将一个结构相同的tuple变量赋值给另一个tuple(不能是tuple变量),则会将tuple变量中的
对应值赋给左值tuple中的对应变量。例如Point = {point, 10, 45}. {point, X, Y} = Point.之后
则精确的将10赋给X,45赋给Y。其中的point可以是=号两边精确的匹配,体现=号的匹配作用
7. 1> Person={person,{name,{first,joe},{last,armstrong}},{footsize,42}}.
2> {_,{_,{_,Who},_},_} = Person.
如上,_是一个占位符,这样可以用单个变量提取tuple中的值。在Erlang中称其为匿名变量。
六:列表(list)
1.list可以用来存储一系列量。
2.使用[]来创建列表。
3.可以使用[X|Y]=L来提取L中的最左边的一个值到X,而将剩余的部分赋给Y
例如:1> ThingsToBuy = [{apples,10},{pears,6},{milk,3}].
3> ThingsToBuy1 = [{oranges,4},{newspaper,1}|ThingsToBuy].
4> [Buy1|ThingsToBuy2] = ThingsToBuy1.
5> [Buy2,Buy3|ThingsToBuy3] = ThingsToBuy2.
之后则
Buy1={oranges,4}
ThingsToBuy1=[{oranges,4},{newspaper,1},{apples,10},{pears,6},{milk,3}]
ThingsToBuy2=[{newspaper,1}, {apples,10}, {pears,6}, {milk,3}].
Buy2= {newspaper,1},
Buy3 = {apples,10},
ThingsToBuy3=[{pears,6}, {milk,3}]
七:字符串(Strings)
1.字符串实际上是只是一个整数的列表(list)
2.字符串用双引号标记
3.当一个列表中的元素都为可打印字符的ASCII码时显示出的就是这个列表对应的字符串。
4.可以将$号放在一个可显示的字符前时,即可取出该字符的ASCII码
5.Erlang的字符串中使用的字符集是Latin-1 (ISO-8859-1)
八:1.在shell中输入f()后可以是所有的已经绑定的变量解除绑定
分享到:
相关推荐
programming erlang 源码
Programming Erlang
Programming+Erlang.pdf+ 面对软件错误构建可靠的分布式系统.pdf+ Concurrent Programming in ERLANG
In this second edition of the bestselling Programming Erlang, you'll learn how to write parallel programs that scale effortlessly on multicore systems. Using Erlang, you'll be surprised at how easy ...
Programming Erlang 官方文档
Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book.
Joe Armsrong经典2013首发,Programming Erlang second edition
Erlang Programming 导Erlang Programming 导读.pdf读.pdfErlang Programming 导读.pdf
Concurrent Programming in ERLANG
Pragmatic.Programming.Erlang.2nd.Edition
Concurrency is natural in ...The model of programming that Erlang uses is very similar to how the world works. This makes programming easy. Many programmers have discovered this, as have many companies.
Joe的那篇erlang论文 Programming Erlang + 源码包 Erlang Programming Concurrent Programming in Erlang efficiecy guide 资源齐全.希望能帮到你.
(Programming Erlang) Joe.Armstrong Erlang程序设计 第2版 含中文版、英文版和源码
Pragmatic Programmer,Pragmatic Programming,Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers,LLC. Every precaution was taken in the preparation of this book....
这是《 Erlang编程语言》的上一页,我们正在处理中,将那里的所有书籍都转换为新页面。 请再次检查此页面!!!