viernes, 9 de julio de 2021

Erlang: registros (record)


Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma entidad. En base de datos representa una fila, una tupla. En Erlang podemos crear un registro de la siguiente manera:

%% Define un registro 'persona'
-define(persona,{nombre, edad, edo_civil = soltero}).

%% Define un registro 'producto'
-define(producto,{nombre, precio, marca, disponibilidad=true}).

En este ejemplo hemos creado dos registros:

  1. persona
  2. producto

Un registro en Erlang es similar a una estructura en C. Suele utilizarse para almacenar un número fijo de elementos. 

typedef struct{
  char nombre[30];
  char marca[30];
  double precio;
}Producto;

Las expresiones de registro se traducen a expresiones de tupla durante la compilación.

Ejemplo. Crear un registro 'producto' con cuatro atributos: nombre, marca, precio, disponibilidad

modelo.erl
%% @doc Registros en Erlang
-module(modelo).
-author("Code Monkey Jr").
-compile(export_all).
-compile(nowarn_export_all).
-record(producto, {nombre, marca, precio, disponibilidad=true}).


inicio()->
    MyProd = #producto{nombre="Jamon de Viena", marca="El chuletón", precio=86.99},
    io:format("Producto disponible? : ~p~n",[MyProd#producto.disponibilidad]),
    io:format("Nombre: ~p~n",[MyProd#producto.nombre]),
    io:format("Marca: ~p~n",[MyProd#producto.marca]),
    io:format("Precio: ~p~n",[MyProd#producto.precio]).

%% erl
%% c(modelo).
%% modelo:inicio().
En lenguajes más "modernos" como Groovy tendríamos el siguiente resultado:
class Producto{
   String nombre
   String marca
   double precio
   boolean disponibilidad
}
Links:
https://erlangbyexample.org/records

No hay comentarios:

Publicar un comentario

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog