Programowanie funkcjonalne - rekordy

Rekord to struktura danych służąca do przechowywania określonej liczby elementów. Jest podobna do struktury w języku C. W momencie kompilacji jej wyrażenia są tłumaczone na wyrażenia krotki.

Jak stworzyć rekord?

Słowo kluczowe „rekord” służy do tworzenia rekordów określonych nazwą rekordu i jego polami. Jego składnia jest następująca -

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

Składnia wstawiania wartości do rekordu to -

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

Program do tworzenia rekordów za pomocą Erlang

W poniższym przykładzie utworzyliśmy rekord imienia student posiadające dwa pola, tj. sname i sid.

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

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

Program do tworzenia rekordów w C ++

Poniższy przykład pokazuje, jak tworzyć rekordy przy użyciu C ++, który jest językiem programowania obiektowego -

#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;  
}

Program do uzyskiwania dostępu do wartości rekordów za pomocą Erlang

Poniższy program pokazuje, jak uzyskać dostęp do wartości rekordów za pomocą Erlang, który jest funkcjonalnym językiem programowania -

-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]).

Wytworzy następujący wynik -

5 
"Sachin"

Program do uzyskiwania dostępu do wartości rekordów przy użyciu C ++

Poniższy program pokazuje, jak uzyskać dostęp do wartości rekordów za pomocą 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; 
}

Wytworzy następujący wynik -

5 
Sachin

Wartości rekordów można zaktualizować, zmieniając wartość w określonym polu, a następnie przypisując ten rekord do nowej nazwy zmiennej. Przyjrzyj się dwóm poniższym przykładom, aby zrozumieć, jak to się robi za pomocą języków programowania obiektowego i funkcjonalnego.

Program do aktualizacji wartości rekordów za pomocą Erlang

Poniższy program pokazuje, jak zaktualizować wartości rekordów za pomocą 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]).

Wytworzy następujący wynik -

5
"Jonny"

Program do aktualizacji wartości rekordów przy użyciu C ++

Poniższy program pokazuje, jak zaktualizować wartości rekordów za pomocą 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; 
}

Wytworzy następujący wynik -

Jonny 
5 
value after updating 
Jonny 
10