Programación funcional - Registros

Un registro es una estructura de datos para almacenar un número fijo de elementos. Es similar a una estructura en lenguaje C. En el momento de la compilación, sus expresiones se traducen a expresiones de tupla.

¿Cómo crear un registro?

La palabra clave 'registro' se utiliza para crear registros especificados con el nombre del registro y sus campos. Su sintaxis es la siguiente:

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

La sintaxis para insertar valores en el registro es:

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

Programa para crear registros usando Erlang

En el siguiente ejemplo, hemos creado un registro de nombre student tener dos campos, es decir, sname y sid.

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

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

Programa para crear registros usando C ++

El siguiente ejemplo muestra cómo crear registros usando C ++, que es un lenguaje de programación orientado a objetos:

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

Programa para acceder a valores de registro usando Erlang

El siguiente programa muestra cómo acceder a los valores de registro utilizando Erlang, que es un lenguaje de programación funcional:

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

Producirá la siguiente salida:

5 
"Sachin"

Programa para acceder a valores de registro usando C ++

El siguiente programa muestra cómo acceder a valores de registro usando 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; 
}

Producirá la siguiente salida:

5 
Sachin

Los valores del registro se pueden actualizar cambiando el valor a un campo en particular y luego asignando ese registro a un nuevo nombre de variable. Eche un vistazo a los dos ejemplos siguientes para comprender cómo se hace utilizando lenguajes de programación funcional y orientados a objetos.

Programa para actualizar valores de registro usando Erlang

El siguiente programa muestra cómo actualizar los valores de los registros usando 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]).

Producirá la siguiente salida:

5
"Jonny"

Programa para actualizar valores de registro usando C ++

El siguiente programa muestra cómo actualizar los valores de registro usando 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; 
}

Producirá la siguiente salida:

Jonny 
5 
value after updating 
Jonny 
10