Erlang-preprocessors
提供:Dev Guides
Erlang-プリプロセッサ
Erlangモジュールがコンパイルされる前に、Erlangプリプロセッサによって自動的に処理されます。 プリプロセッサは、ソースファイルにある可能性のあるマクロを展開し、必要なインクルードファイルを挿入します。
通常、プリプロセッサの出力を確認する必要はありませんが、例外的な状況(たとえば、障害のあるマクロのデバッグ時)では、プリプロセッサの出力を保存することをお勧めします。 モジュール some_module.erl の前処理の結果を確認するには、OSシェルコマンドを使用します。
erlc -P some_module.erl
たとえば、次のコードファイルがあったと仮定します-
例
-module(helloworld).
-export([start/0]).
-include("user.hrl").
start() ->
io:fwrite("~w",[?macro1(1,2)]).
そして、コマンドラインから次のコマンドを実行した場合-
erlc –P helloworld.erl
*helloworld.P* というファイルが生成されます。 このファイルを開くと、プリプロセッサがコンパイルする次の内容が見つかります。
-file("helloworld.erl", 1). -module(helloworld).
-export([start/0]).
-file("user.hrl", 1).
-file("helloworld.erl", 3).
start() ->
io:fwrite("~w", [{1 + 2}]).