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