标签归档:Erlang

Erlang Supervisor 的 error:{badmatch,{error,{{start_spec,{invalid_modules, ??? }} 错误解决

新人,刚开始学习 erlang ,使用 rebar 生成了一个标准的 otp 应用程序,往 Supervisor 加了一个 gen_server ,却通不过默认单元测试了。提示

最后发现原因是回调模块应该是列表,我却直接把模块名填上了….

导入测试数据到 Mnesia 数据库

假如我们开始玩一个关于健康食品的小型数据库,可输入下列数据到文件data.txt:

下列Erlang shell会话显示如何加载fruits数据库:

这里我们能够看到怎样从一个规范的文本文件来初始化数据库管理系统。

注1:不使用mnesia:start 启动数据库直接载入数据会使上次运行的内存表未被清除,而和本次导入的表冲突,导入失败。

$ erl
Erlang (BEAM) emulator version 5.6.3 [source] [smp:2] [async-threads:0] [kernel-poll:false]

Eshell V5.6.3 (abort with ^G)
1> mnesia:load_textfile(“data.txt”).
** Table fruit already exists on nowhere, just entering data
** Table vegetable already exists on nowhere, just entering data
{aborted,{no_exists,fruit}}
2>