Erlang - Fichiers d'en-tête

Les fichiers d'en-tête sont comme des fichiers d'inclusion dans n'importe quel autre langage de programmation. Il est utile pour diviser les modules en différents fichiers, puis accéder à ces fichiers d'en-tête dans des programmes distincts. Pour voir les fichiers d'en-tête en action, regardons l'un de nos exemples précédents d'enregistrements.

Créons d'abord un fichier appelé user.hrl et ajoutez le code suivant -

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

Maintenant, dans notre fichier de programme principal, ajoutons le code suivant -

Exemple

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

Comme vous pouvez le voir dans le programme ci-dessus, nous incluons simplement le fichier user.hrl qui insère automatiquement le fichier –record code dedans.

Si vous exécutez le programme ci-dessus, vous obtiendrez la sortie suivante.

Production

1
“John”

Vous pouvez également faire la même chose avec les macros, vous pouvez définir la macro dans le fichier d'en-tête et la référencer dans le fichier principal. Voyons un exemple de ceci -

Créons d'abord un fichier appelé user.hrl et ajoutez le code suivant -

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

Maintenant, dans notre fichier de programme principal, ajoutons le code suivant -

Exemple

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

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

Si vous exécutez le programme ci-dessus, vous obtiendrez la sortie suivante -

Production

{3}