登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[erlang] record  

2009-03-21 12:07:12|  分类: lang_erlang |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
对于 tuple 我们只能这样访问:
P = {"kasi", 18},       %% {name, age}
Name = element(1, P),
Age = element(2, P),
用起来实在不太方便。

record 类似 C 中的 struct,可以让你通过 field name 访问具体的内容。
-record(person, {name="joe", age=18}).   %% definition
R = #person{name="kasi", age=99},
Name = R#person.name,
Age = R#person.age.
R1 = R#person{name="dog"}.   %% R1 = #person{name="dog", age=99}

判断 record 的类型:
is_record(P, person)  % false
is_record(R, person)  % true

小例子,根据名字返回年龄:
-record(person, {name="jane", age=18}).
find([#person{name=Name, age=Age} | _], Name) ->
    {found, Age};
find([_ | T], Name) ->
    find(T, Name);
find([], Name) ->
    not_found.

  评论这张
 
阅读(1169)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018