Эрланг: Как использовать макрос -define вне модуля? - PullRequest
5 голосов
/ 29 сентября 2010

Предположим, у меня есть модуль test.erl, а внутри него макрос TOTAL:

-module(test)
-export([...])

-define(TOTAL,(100))

...

Если в test.erl определено get_total(), я могу вызвать test:get_total(). из REPL

Как мне вызвать ?TOTAL (макрос) вне модуля test.erl без определения функции?

1 Ответ

15 голосов
/ 29 сентября 2010

Вы можете поместить -define в файл test.hrl и использовать -include для включения его в другие модули.Для получения дополнительной информации см. Документацию препроцессора Erlang 1005 *.

test.hrl

-define(TOTAL, (100)).

test.erl

-module(test).
-export([...]).

-include("test.hrl").

...

other.erl

-module(other).

-include("test.hrl").

io:format("TOTAL=~p~n", [?TOTAL]).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...