有没有办法在erl中直接使用记录?无论我尝试什么,它总是说它无法找到记录。我正在尝试进行mnesia交易,没有我的记录,我不能走得太远。非常感谢任何帮助 - 谢谢!
答案 0 :(得分:13)
是的,使用help()并在shell中找到这些命令。
rd(R,D) -- define a record
rf() -- remove all record information
rf(R) -- remove record information about R
rl() -- display all record information
rl(R) -- display record information about R
rp(Term) -- display Term using the shell's record information
rr(File) -- read record information from File (wildcards allowed)
rr(F,R) -- read selected record information from file(s)
rr(F,R,O) -- read selected record information with options
这些是shell中的一个聪明的黑客,它们允许您在编译时加载模块中使用的记录定义。使用rr命令从模块加载它。
请记住,这些仅适用于要使用的交互式shell。
答案 1 :(得分:3)
你是什么意思?在外壳中,它就像克里斯蒂安写的那样。如果您在模块中表示,那么您仍然必须先定义记录才能使用它们。有关如何执行此操作的说明,请参阅http://erlang.org/doc/在线的erlang文档。它们只是一个编译时构造,因此它们不存在。