Заголовочные файлы похожи на включаемые файлы на любом другом языке программирования. Это полезно для разделения модулей на разные файлы и последующего доступа к этим заголовочным файлам в отдельные программы. Чтобы увидеть заголовочные файлы в действии, давайте посмотрим на один из наших предыдущих примеров записей.
Давайте сначала создадим файл с именем 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)]).
Если вы выполните вышеуказанную программу, вы получите следующий вывод: