记录 record
来源:互联网 发布:高分一号数据波段运算 编辑:程序博客网 时间:2024/05/21 11:02
提供了一种方法吧一个名称与元组中的一个元素对应起来,从而便于区分元组中的各个元素的含义。定义方法:
-record(Name, { key1 = Default1, key2 = Default2, key3, key4=undefined, ….}
其中key3 与 key4=undefined 是等效写法;
Name:记录的名字;
Key1, key2, key3, key4 这些是记录中的字段名,且必须是元子;
注意:record 不是一个shell命令,不能在shell中使用,只能用于erlang源码中;在shell中应该使用rr命令读取hrl记录定义文件
保存为 .hrl 扩展名的文件,以保证不同的erlang模块使用相同的记录定义
保存为records.hrl
%%记录 定义
-record(
todo,
{
status=abc,
who=usr,
text
}
).
Shell中执行:
1> rr(“records.hrl”).
[todo]
2> X1 = #todo{}.
#todo{status = reminder,who = joe,text = undefined}
3> X2 = #todo{who=zhys9, text=”erlang”}.
#todo{status = reminder,who = zhys9,text = ”erlang”}
4> X3 = X2#todo{text=”copy of X2″}.
#todo{status = reminder,who = zhys9,text = ”copy of X2″}
5> X3#todo.text.
“copy of X2″
6> X2#todo.text.
“erlang”
说明一下:
1> 加载记录定义
2> 实例化一个todo类型的记录,所有字段值都按照记录的默认值
3> 实例化一个todo类型的记录,并指定who和text字段的值
4> copy变量X2并修改text字段的值为“copy of X2“,赋值给X3
5> 通过记录,获取X3的text字段的值
6> 通过记录,获取X2的text字段的值
特别注意的是,X3和X2是copy与被copy的关系,当X3的字段值发生改变后,X2的字段没有变化!
另外一种从记录中提取字段值的方法依旧是模式匹配:
7> #todo{status=Y, who=Z,text=T}=X2.
#todo{status = reminder,who = zhys9,text = ”erlang”}
8> Y.
12
9> Z.
zhys9
10> T.
“erlang”- 记录 record
- Oracle系列:记录Record
- Oracle系列:记录Record
- 记录类型 Record
- Erlang的记录record
- Oracle中的记录(Record)
- 【PLSQL】 定义record记录
- Active Record 活动记录
- 数据类型之记录(record)
- 活动记录 Active Record
- mysql 记录(record)
- Magic Record 使用记录
- Oracle中的记录(Record)
- Record记录和变体记录
- record, packed record和变体记录
- F# 入门(十三):Record(记录)
- oracle记录Record的运用
- oracle:PL/SQL record记录
- [ACM] hdu 2717 Catch That Cow (BFS)
- C# Winform中如何实现窗体之…
- 遍历Map方法二(用到Map.Entry内部类)
- 转: 如何部署DevExpress控件
- DevExpress界面控件介绍
- 记录 record
- computer science and technology
- SuperMap IS.NET不出图的常…
- oracle学习之:REF CURSOR
- no_data_found的解决方法
- oracle学习之:oracle异常分类
- oracle学习之:常用预定义异常
- 香甜的黄油
- oracle 学习之:synonym