Erlang记录定义和使用
时间: 2024-12-15 15:20:04 浏览: 8
Erlang是一种函数式编程语言,它支持一种名为"元组"(tuple)的数据结构,类似于其他语言里的结构体或记录。Erlang中的记录定义和使用非常简洁,通过`{}`语法来创建。
**定义记录(Tuple/Record):**
```erlang
-record(type_name, {field1, field2, ...}).
```
例如,我们定义了一个名为`person`的记录:
```erlang
-record(person, {name, age, address}).
```
这意味着我们可以创建一个`person`类型的记录,比如:
```erlang
Person = #person{name = "Alice", age = 30, address = "New York"}.
```
**访问记录字段:**
可以像操作普通变量一样直接访问字段,例如获取姓名:
```erlang
Name = Person#person.name.
```
也可以通过记录名和字段名组合的形式:
```erlang
Name = person:name(Person).
```
**动态字段获取:**
Erlang允许在运行时检查是否存在某个字段,不会抛出错误。如果字段不存在,则返回`undefined`。
```erlang
case person:age(Person) of
undefined -> "Age not found";
Age -> io:fwrite("Age is ~B.", [Age])
end.
```
阅读全文