Erlang - Archivos de encabezado

Los archivos de encabezado son como archivos de inclusión en cualquier otro lenguaje de programación. Es útil para dividir módulos en diferentes archivos y luego acceder a estos archivos de encabezado en programas separados. Para ver los archivos de encabezado en acción, veamos uno de nuestros ejemplos anteriores de registros.

Primero creemos un archivo llamado user.hrl y agregue el siguiente código -

-record(person, {name = "", id}).

Ahora, en nuestro archivo de programa principal, agreguemos el siguiente código:

Ejemplo

-module(helloworld). 
-export([start/0]). 
-include("user.hrl"). 

start() -> 
   P = #person{name = "John",id = 1}, 
   io:fwrite("~p~n",[P#person.id]), 
   io:fwrite("~p~n",[P#person.name]).

Como puede ver en el programa anterior, en realidad solo incluimos el archivo user.hrl que inserta automáticamente el –record código en él.

Si ejecuta el programa anterior, obtendrá el siguiente resultado.

Salida

1
“John”

También puede hacer lo mismo con las macros, puede definir la macro dentro del archivo de encabezado y hacer referencia a ella en el archivo principal. Veamos un ejemplo de esto:

Primero creemos un archivo llamado user.hrl y agregue el siguiente código -

-define(macro1(X,Y),{X+Y}).

Ahora, en nuestro archivo de programa principal, agreguemos el siguiente código:

Ejemplo

-module(helloworld). 
-export([start/0]). 
-include("user.hrl"). 

start() -> 
   io:fwrite("~w",[?macro1(1,2)]).

Si ejecuta el programa anterior, obtendrá el siguiente resultado:

Salida

{3}