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}