Erlang-header-files
提供:Dev Guides
Erlang-ヘッダーファイル
ヘッダーファイルは、他のプログラミング言語のインクルードファイルに似ています。 モジュールを異なるファイルに分割し、これらのヘッダーファイルに個別のプログラムにアクセスするのに便利です。 ヘッダーファイルの動作を確認するために、以前のレコードの例の1つを見てみましょう。
最初に 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]).
上記のプログラムからわかるように、実際には .record コードを自動的に挿入するuser.hrlファイルが含まれています。
上記のプログラムを実行すると、次の出力が得られます。
出力
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}