我不太确定如何在 Erlang 模块中定义 Erlang 函数。我收到以下错误:
11> invoke_record:invoke().
** exception error: undefined function erlang:rr/1
从这个简单的代码尝试调用 rr(?MODULE).
从 beam 可执行文件中以“初始化”记录,这样就不需要每次都从 shell 中调用它时间。
-module(invoke_record).
-export([invoke/0]).
-record(process, {pid,
reference="",
lifetime=0
}).
invoke() ->
erlang:rr(?MODULE).
最佳答案
命令 rr("file.hrl").
只能在 shell 中用于调试目的。
正如其他用户在他们的回答中强调的那样,在您的 erlang 代码中导入 .hrl 文件中包含的记录(或函数)的正确方法是使用命令 -include("file.hrl')
。
一旦您将 .hrl
文件包含在您的代码中(并且通常在基于 OTP 行为的模块中,这是在 -export(...)
之后完成的部分)您可以毫无问题地引用 Erlang 记录(或函数)。
关于function - Erlang:从 beam 可执行文件调用 rr(?MODULE)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15284986/