Erlang - Records(记录)

Erlang - Records(记录) 首页 / Erlang入门教程 / Erlang - Records(记录)

Erlang具有创建records记录函数,这些records记录由字段组成, 例如,您可以定义一个personal records,其中包含2个字段,一个是id,另一个是name字段。 然后,您可以在Erlang中创建此records记录的各种实例,以定义具有不同名称和ID的多个personal。

创建记录

使用record标识符创建,在此record标识符中,指定构成record的各个字段。通用语法和如下。

record(recordname , {Field1,Field2 ..Fieldn})
  • recordsname                  -  这是赋予record的名称。

  • Field1,Field2 ..Fieldn   -  这些是构成record的各个字段的列表。

-module(helloLearnfk). 
-export([start/0]). 
-record(person, {name="", id}). 

start() -> 
   P=#person{name="Learnfk",id=1}.

上面的示例显示了具有2个字段的record的定义,一个是id,另一个是名称。此外, record以以下方式构造-

#recordname {fieldName1=value1, fieldName2=value2 .. fieldNameN=valueN}

定义record记录时,应在其中将值分配给各个字段。

访问记录值

要访问特定记录的字段和值,应使用以下语法。

#recordname.Fieldname
  • recordsname  -  这是赋予records记录的名称。

  • Fieldname      -  这是需要访问的字段的名称。

分配给该字段的值。

-module(helloLearnfk). 
-export([start/0]). 
-record(person, {name="", id}). 

start() -> 
   P=#person{name="Learnfk",id=1}, 
   io:fwrite("~p~n",[P#person.id]), 
   io:fwrite("~p~n",[P#person.name]).

上面程序的输出如下。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-records.html

来源:LearnFk无涯教程网

1
Learnfk"

更新记录值

常规语法和如下。

#recordname.Fieldname=newvalue
  • recordsname  -  这是赋予records的名称。

  • Fieldname       - 这是需要访问的字段的名称。

  • newvalue         - 这是需要分配给该字段的新值。

具有分配给字段的新值的新记录。

-module(helloLearnfk). 
-export([start/0]). 
-record(person, {name="", id}). 

start() -> 
   P=#person{name="Learnfk",id=1}, 
   P1=P#person{name="Dan"}, 
   
   io:fwrite("~p~n",[P1#person.id]), 
   io:fwrite("~p~n",[P1#person.name]).

上面程序的输出如下-

1
Dan"

嵌套记录

Erlang还具有嵌套记录的函数。下面的示例说明如何创建这些嵌套记录。

无涯教程网

-module(helloLearnfk). 
-export([start/0]). 
-record(person, {name="", address}). 
-record(employee, {person, id}). 

start() -> 
   P=#employee{person=#person{name="Learnfk",address="A"},id=1}, 
   io:fwrite("~p~n",[P#employee.id]).

在上面的示例中,需要注意以下事项-

  • 我们首先要创建一个人的记录,该记录具有名称和地址的字段值。

  • 然后,我们定义一个员工记录,其中将人员作为一个字段,并附加一个名为id的字段。

上面程序的输出如下。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-records.html

来源:LearnFk无涯教程网

1

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Android开发高手课 -〔张绍文〕

设计模式之美 -〔王争〕

物联网开发实战 -〔郭朝斌〕

说透芯片 -〔邵巍〕

如何讲好一堂课 -〔薛雨〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

商业思维案例笔记 -〔曹雄峰〕

超级访谈:对话毕玄 -〔毕玄〕

结构思考力 · 透过结构看问题解决 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)