📜  函数式编程-记录

📅  最后修改于: 2021-01-07 05:19:53             🧑  作者: Mango


记录是用于存储固定数量的元素的数据结构。它类似于C语言中的结构。在编译时,其表达式将转换为元组表达式。

如何创建记录?

关键字“ record”用于创建使用记录名称及其字段指定的记录。它的语法如下-

record(recodname, {field1, field2, . . fieldn})

将值插入记录的语法是-

#recordname {fieldName1 = value1, fieldName2 = value2 .. fieldNamen = valuen}

程序使用Erlang创建记录

在下面的示例中,我们创建了具有两个字段snamesid的名称为student的记录。

-module(helloworld).  
-export([start/0]).  
-record(student, {sname = "", sid}).   

start() ->  
   S = #student{sname = "Sachin",sid = 5}. 

程序使用C++创建记录

以下示例显示了如何使用C++创建记录,C++是一种面向对象的编程语言-

#include 
#include
using namespace std; 

class student {
   public: 
   string sname; 
   int sid; 
   15 
}; 

int main() {    
   student S;  
   S.sname = "Sachin"; 
   S.sid = 5; 
   return 0;  
} 

程序使用Erlang访问记录值

以下程序显示了如何使用Erlang访问记录值,Erlang是一种功能编程语言-

-module(helloworld).  
-export([start/0]).  
-record(student, {sname = "", sid}).   

start() ->  
   S = #student{sname = "Sachin",sid = 5},  
   io:fwrite("~p~n",[S#student.sid]),  
   io:fwrite("~p~n",[S#student.sname]). 

它将产生以下输出-

5 
"Sachin"

程序使用C++访问记录值

以下程序显示了如何使用C++访问记录值-

#include 
#include 
using namespace std; 

class student {     
   public: 
   string sname; 
   int sid; 
}; 

int main() {     
   student S;  
   S.sname = "Sachin"; 
   S.sid = 5; 
   cout<

它将产生以下输出-

5 
Sachin 

可以通过将值更改为特定字段,然后将该记录分配给新的变量名称来更新记录值。请看以下两个示例,以了解如何使用面向对象和函数式编程语言来完成此操作。

程序使用Erlang更新记录值

以下程序显示了如何使用Erlang更新记录值-

-module(helloworld).  
-export([start/0]).  
-record(student, {sname = "", sid}).   

start() ->  
   S = #student{sname = "Sachin",sid = 5},  
   S1 = S#student{sname = "Jonny"},  
   io:fwrite("~p~n",[S1#student.sid]),  
   io:fwrite("~p~n",[S1#student.sname]). 

它将产生以下输出-

5
"Jonny" 

程序使用C++更新记录值

以下程序显示了如何使用C++更新记录值-

#include 
#include 
using namespace std;  

class student {    
   public: 
   string sname; 
   int sid; 
};  

int main() {     
   student S;  
   S.sname = "Jonny"; 
   S.sid = 5; 
   cout<

它将产生以下输出-

Jonny 
5 
value after updating 
Jonny 
10