Programmation fonctionnelle - Enregistrements

Un enregistrement est une structure de données permettant de stocker un nombre fixe d'éléments. C'est similaire à une structure en langage C. Au moment de la compilation, ses expressions sont traduites en expressions de tuple.

Comment créer un enregistrement?

Le mot-clé 'enregistrement' est utilisé pour créer des enregistrements spécifiés avec le nom d'enregistrement et ses champs. Sa syntaxe est la suivante -

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

La syntaxe pour insérer des valeurs dans l'enregistrement est -

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

Programme pour créer des enregistrements en utilisant Erlang

Dans l'exemple suivant, nous avons créé un enregistrement de nom student ayant deux champs, à savoir, sname et sid.

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

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

Programme pour créer des enregistrements en C ++

L'exemple suivant montre comment créer des enregistrements à l'aide de C ++, qui est un langage de programmation orienté objet -

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

Programme pour accéder aux valeurs d'enregistrement en utilisant Erlang

Le programme suivant montre comment accéder aux valeurs d'enregistrement en utilisant Erlang, qui est un langage de programmation fonctionnel -

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

Il produira la sortie suivante -

5 
"Sachin"

Programme pour accéder aux valeurs d'enregistrement en utilisant C ++

Le programme suivant montre comment accéder aux valeurs d'enregistrement à l'aide de 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; 
}

Il produira la sortie suivante -

5 
Sachin

Les valeurs d'enregistrement peuvent être mises à jour en modifiant la valeur d'un champ particulier, puis en affectant cet enregistrement à un nouveau nom de variable. Jetez un œil aux deux exemples suivants pour comprendre comment cela est fait à l'aide de langages de programmation orientés objet et fonctionnels.

Programme pour mettre à jour les valeurs d'enregistrement en utilisant Erlang

Le programme suivant montre comment mettre à jour les valeurs d'enregistrement à l'aide d'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]).

Il produira la sortie suivante -

5
"Jonny"

Programme pour mettre à jour les valeurs d'enregistrement en utilisant C ++

Le programme suivant montre comment mettre à jour les valeurs d'enregistrement à l'aide de 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; 
}

Il produira la sortie suivante -

Jonny 
5 
value after updating 
Jonny 
10