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

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

Вывод

{3}