Programming Erlang 学习_原子和元组
程序员文章站
2024-01-05 23:02:58
...
1.原子
在C语言,类似于全局变量,java中类似于枚举。
Erlang中的原子是全局有效的,而且无需使用宏定义或者包含文件。
(1)原子是一串以小字母开头,后面也可以跟数字字母或者下划线或邮件符号(@)的字符。
(2)使用单引号引起来的字符也是原子。使用这种形式,原子就可以使用大写字母作为开头或者包含非第一条中规定的字符。
(3)一个原子的值就是原子本身。
2.元组
创建一个元组:将若干个以逗号分割的值用一对花括号括起来.类似于C语言中的结构体。
1).用于描述一个人的名字和身高信息元组
Student = {lee,1.75}
2).在erlang中,元组没有类型声明,将创建的元组绑定到变Student.为了更好的描述这个元组,通常使用一个原子作为元组的第
一个元素来标明这个元组所代表的含义。 元组可以嵌套,如果表达一个的详细信息定义:
Student = {student, {name,lee}, {age,23}, {height,1.75}}.
3).元组引用已绑定的变量:
Eshell V5.6.5 (abort with ^G) 1> Name = {name,lee}. {name,lee} 2> Age = {age,23}. {age,23} 3> Student = {student,Name,Age}. {student,{name,lee},{age,23}}
4).从元组取出字段值:
4> {name,Value} = Name. {name,lee} 5> Value. lee
通过模式匹配符'='来完成取值。变量定义时,记得首字母大字,不然erlang会当成原子了。
6> {name,value} = Name. ** exception error: no match of right hand side value {name,lee}
如果是复杂的元组,从中取出所要的值。只需在所要的字段位置上使用变量绑定,不关心的值用符号"_"。
1> Person = {person,{name,{first,alex},{last,lee}},{age,23}}. {person,{name,{first,alex},{last,lee}},{age,23}} 2> {_,{_,{_,FirstName},_},_} = Person. {person,{name,{first,alex},{last,lee}},{age,23}} 3> FirstName. alex
以上就是今天学习的成果,继续努力。
上一篇: 上传一个图片