erlang中的record

record记录通过下面这种语法定义:

-record(Name,{
                   key1,
                   key2,
                  ...
                   key}).
其中Name是记录的名字,key1,key2等是字段名。(注意,是小写开头的原子)

下面一个记录的例子:

-record(todo,{status=remainder,who=joe,text}).

创建一个记录的方法如下:

X=#tudo{}.

此时,X记录的字段全是默认值

X1=#tudo{text="Fix errata in book"}.

此时X1前两个字段值是默认值,text是指定值。

X2=X#todo{who=bob}

此时X2的值和X相同,除了who字段外。


取记录的字段内容:

X2#todo.who  得到X2的who字段内容。


从记录中提取字段值:

#tudo{who=W,text=Txt} = X1.

此时W=joe  Txt ="Fix errata in book"


在函数中对记录进行匹配:

-module(tut).
-export([area/1,myf/0]).

-record(tudo,{who,text}).

area(#tudo{who=W,text=T})->
	{W,T}.




myf()->
	X=#tudo{who=joe,text="abc"},
	area(X).



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值