这个问题与前一个有关。当我运行这本书的官方回购书运行benchmarker:start(slidingwindow5).时,我正在运行从benchmarker:start(slidingwindow5).克隆的代码,我得到以下错误:
4>基准标记:启动(Slidingwindow50)。塑性:无维:4,塑性:无维:4,塑性:无维:4,塑性:无维:4,塑性:无维:4,塑性:无维:4,塑性:无维:4,塑性:无维:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4,塑性:无维数:4, 物种Id:6.858114617542796e-10 Morphology:forex_trader *人口监测以参数开始:{state、benchmark、test、[]、未定义、[]、0、0、0、0、0、未定义、未定义、未定义、0.5、10、10、数学、inf、10000、初始Tot评估:0 开始 5> =ERROR REPORT==== 16-2016年3月-2016年:14:11:34进程<0.287.0>中具有退出值的错误:{badarg,[{ets,last,‘EURUSD15 15’,[]},{fx,init_state,5,{file,"fx.erl"},{line,375}},{fx,sim,3,{file,{fx.erl},{line,284} =ERROR REPORT==== 16-2016::14:11:34 === <0.288.0>中的退出值:{badarg,[{ets,last,‘EURUSD15 15’,[]},{fx,init_state,5,{file,"fx.erl"},{line,375}},{fx,sim,3,{file,"fx.erl"},{line,284}
据了解,基准测试无法找到和使用表。为什么会发生这种事,我该怎么解决呢?
更新:重命名EURUSD15会导致运行polis:start().时出错
Mnesia(nonode@nohost):数据可能丢失。
发生并报告badarg错误。
Update:深入研究源代码,特别是fx.erl,使我相信,由于某种原因,名为EURUSD15的.txt文件没有从磁盘中正确读取,因此它没有转换成表,不能被ets和其余代码使用。
fx.erl中的文件读取有什么问题,如何纠正呢?
发布于 2016-03-16 12:20:57
ets:last期望表名是唯一的参数。但是,在您的代码中,它被称为“EURUSD15 15”。这是桌子的名字吗?表创建了吗?请记住,创建表时,创建该表的进程拥有该表。如果该进程死亡,则删除该表。您需要根据错误中的调用堆栈调试代码:
function fx:init_state/5 in file "fx.erl" line 375
called from
function fx:sim/3 in file "fx.erl" line 284https://stackoverflow.com/questions/36034183
复制相似问题