Учебники

Erlang — Заголовочные файлы

Заголовочные файлы похожи на включаемые файлы на любом другом языке программирования. Это полезно для разделения модулей на разные файлы и последующего доступа к этим заголовочным файлам в отдельные программы. Чтобы увидеть заголовочные файлы в действии, давайте посмотрим на один из наших предыдущих примеров записей.

Давайте сначала создадим файл с именем user.hrl и добавим следующий код —

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

Теперь в нашем основном файле программы, давайте добавим следующий код —

пример

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

Как вы можете видеть из приведенной выше программы, мы фактически просто включаем файл user.hrl, который автоматически вставляет в него код –record.

Если вы выполните вышеуказанную программу, вы получите следующий вывод.

Выход

1
“John”

Вы также можете сделать то же самое с макросами, вы можете определить макрос внутри заголовочного файла и ссылаться на него в основном файле. Давайте посмотрим на пример этого —

Давайте сначала создадим файл с именем user.hrl и добавим следующий код —

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

Теперь в нашем основном файле программы, давайте добавим следующий код —

пример

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

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

Если вы выполните вышеуказанную программу, вы получите следующий вывод: