Файлы заголовков похожи на файлы include на любом другом языке программирования. Это полезно для разделения модулей на разные файлы и последующего доступа к этим заголовочным файлам в отдельные программы. Чтобы увидеть заголовочные файлы в действии, давайте посмотрим на один из наших ранних примеров записей.
Давайте сначала создадим файл 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кода в нем. Вы также можете сделать то же самое с макросами, вы можете определить макрос внутри файла заголовка и ссылаться на него в основном файле.
-define(macro1(X,Y),{X+Y}).
-module(helloworld).
-export([start/0]).
-include("user.hrl").
start() ->
io:fwrite("~w",[?macro1(1,2)]).
0 комментариев