Programming Erlang 第二章学习笔记

xiaoxiao2022-06-12  28

一:开始    每条语句以一个“.”结束    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()后可以是所有的已经绑定的变量解除绑定

相关资源:Erlang程序设计_第2版_含中文版英文版_含源码_(Programming_Erlang)_Joe.Armstrong
转载请注明原文地址: https://www.6miu.com/read-4933134.html

最新回复(0)