Erlang - 头文件



头文件就像任何其他编程语言中的包含文件。它用于将模块拆分为不同的文件,然后在单独的程序中访问这些头文件。为了了解头文件的作用,让我们看看我们之前关于记录的一个例子。

首先,我们创建一个名为 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 代码。

如果执行上述程序,您将获得以下输出。

输出

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}
广告