我只是在玩唱片,而且我试图写一个与唱片一起工作的函数。我认为问题是如何将记录定义读入我的模块文件。
reocords.hrl
文件:
% Modeling a todo list
-record(todo, {status=reminder, who=joe, text}).
然后是use_records.erl
文件:
%% Use the records defined in "records.hrl"
-module(use_records).
-export([todo_to_tuple/1]).
rr("records.hrl").
todo_to_tuple(#todo{who=W, text=T} = R) -> {W, T}.
当我尝试编译它时,我得到:
24> c(use_records).
use_records.erl:5: variable 'T' is unbound
use_records.erl:5: variable 'W' is unbound
use_records.erl:5: record todo undefined
use_records.erl:5: Warning: variable 'R' is unused
error
如果删除rr("records.hrl")
行,则错误相同。所以我认为真正的问题是能够读取记录定义(或不是?)。请帮忙!
答案 0 :(得分:4)
rr/1
仅包含在shell中的记录定义。
为了在代码中包含记录定义,请使用:
-include("records.hrl")