📜  Erlang-头文件

📅  最后修改于: 2020-11-04 05:55:49             🧑  作者: Mango


头文件就像其他任何编程语言中的包含文件一样。这对于将模块拆分为不同的文件,然后将这些头文件访问为单独的程序很有用。要查看实际的头文件,让我们看一下我们较早的记录示例之一。

首先创建一个名为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}