頭文件類似于任何其他編程語言中的包含文件。將模塊分割成不同的文件,然后將這些頭文件訪問到不同的程序中,這種方法很有用。要查看運行中的頭文件,讓我們看看前面的一個記錄示例。
首先創(chuàng)建一個名為user.hrl的文件,并添加以下代碼-
-record(person, {name = "", id}).
現(xiàn)在在我們的主程序文件中,添加以下代碼-
-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 代碼。
如果執(zhí)行上述程序,將得到以下輸出。
1 “John”
您也可以對宏執(zhí)行相同的操作,可以在頭文件中定義宏并在主文件中引用它。讓我們看一個實例-
首先創(chuàng)建一個名為user.hrl的文件,并添加以下代碼-
-define(macro1(X,Y),{X+Y}).
現(xiàn)在在我們的主程序文件中,添加以下代碼-
-module(helloworld). -export([start/0]). -include("user.hrl"). start() -> io:fwrite("~w",[?macro1(1,2)]).
如果執(zhí)行上述程序,將獲得以下輸出-
輸出結(jié)果
{3}