函數語言程式設計 - 記錄



記錄是一種用於儲存固定數量元素的資料結構。它類似於 C 語言中的結構體。在編譯時,其表示式會被轉換為元組表示式。

如何建立記錄?

關鍵字“record”用於建立記錄,並指定記錄名稱及其欄位。其語法如下:

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

向記錄中插入值的語法為:

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

使用 Erlang 建立記錄的程式

在以下示例中,我們建立了一個名為student的記錄,它有兩個欄位,即snamesid

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

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

使用 C++ 建立記錄的程式

以下示例演示瞭如何使用 C++ 建立記錄,C++ 是一種面向物件程式語言。

#include<iostream> 
#include<string>
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<iostream> 
#include<string> 
using namespace std; 

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

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

它將產生以下輸出:

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<iostream> 
#include<string> 
using namespace std;  

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

int main() {     
   student S;  
   S.sname = "Jonny"; 
   S.sid = 5; 
   cout<<S.sname<<"\n"<<S.sid; 
   cout<<"\n"<< "value after updating"<<"\n"; 
   S.sid = 10; 
   cout<<S.sname<<"\n"<<S.sid; 
   return 0; 
}

它將產生以下輸出:

Jonny 
5 
value after updating 
Jonny 
10 
廣告