Programming Erlang 学习_原子和元组

 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

 

  以上就是今天学习的成果,继续努力。

 

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值