1、Erlang的安装和环境path值的搭建
在shell中输入 erl 查看是否安装成功,及所安装的Erlang版本
注意:在shell中仅仅能够对Erlang表达式求值,除此之外的其他事情,它都做不了!(也可以运用Erlang的库函数和fun函数)
2、整数运算
Erlang遵循标准运算规则
Erlang中 = 号的意思为 模式匹配符,而不是赋值!
3、变量
变量仅可以赋值一次,这里的“赋值” 其实是 “绑定” ,所以,Erlang中变量有两种,分为 自由变量 和 绑定变量——>可以简化调试,很容易找出到底是哪里出错bug了
变量以大写字母开头
4、模式匹配
在Erlang中
1、变量值相等 则两个变量匹配 true eg:X = Y.
2、可以由原子匹配 eg:{abc,X} = {abc, 123456789}. ——>此时 X 的值为 123456789
5、浮点数
当用 / (除法)运算的时候,永远返回浮点数——>eg:4 / 2. 结果为 2.0
rem 是取余运算符——>eg:5 rem 2. 结果为 1
div 是整除运算符——>eg:5 div 2. 结果为 2
6、原子
一个原子的值就是原子本身。
1>hello.
hello
在Erlang中,原子用来表示不同的非数字常量值
Erlang中的原子是全局有效的,而且无需使用宏定义或者包含文件
原子是一串以小写字母开头,后跟数字,字母,下划线(_)或邮件符号(@)的字符
使用单引号引起来的也是原子,使用这种形式,我们就能使得原子可以用大写字母作为开头或者包含非数字字符——>eg:'Monday' 、'Tuesday' 、'+'、' * '、' an atom with spaces' ,'a'实际上等同于a
7、元组
其实元组也是一个原子。 一旦元组创建之后,元组项的个数就不能再变化了!
和c语言不同的是,元组中的字段没有名字。通常为了方便记忆,我们可以使用一个原子作为元组的第一个元素来标明这个元组所代表的含义。
元组可以对数据进行标志!如下列例子中的 person 人。
eg:1>Person = {person,
{name, joe}
{height, 1.82}
{footsize, 42}
{ryrcolour, beown}
}.
如果你创建的一个新元组引用了一个已绑定的变量,那么新元组就会享有这个变量所引用的数据结构。
8、从元组中提取字段
1>Point = {point, 10, 45}.
{point, 10, 45}
2>{point, X, Y} = Point.
3>X.
10
4>Y.
45
9、列表
列表和元组的主要区别是列表的存储空间可变(大小,长度),可以增加或者删除列表中的元素。
列表的头部可以是任何东西,但列表的尾部通常还是一个列表。
访问列表的头部是一个非常高效的操作,因此,实际上所有的列表处理函数都是从提取列表头部开始的,先对头部进行处理,然后继续处理列表的尾部。[ ...... | [ ] ]
如果T是一个列表,[ H | T ] 也是一个列表,它的头是H,尾是T。
处理相同类型数据的时候,应该尽量使用列表。 eg:[ 4, 1, 4454, 66 ]
10、从列表中提取元素
[H | T] = L
11、字符串
严格的讲,Erlang中没有字符串,字符串实际上就是一个整数列表,
字符串中的字符,实际上是Latin-1(IOS-8859-1)编码的字符。
(必须!)使用双引号( “ ” )将一串字符括起来就是一个字符串,比如:
1>Name = "Hello".
"Hello"
只有列表中的所有整数都是可打印字符,它才把这个列表当成字符串来打印。
12、命令 f ()
重点!命令 f () 会让shell释放它所 绑定过 的所有 变量。执行这个命令后,所有的变量都变成自由变量!
13、$ 符号
使用 $ 符号可以打印某个字符的整数。