此问题与the previous one有关。 ,我从the official repo of the book 克隆代码当我运行 benchmarker:start(slidingwindow5).
,我得到以下错误:Erlang基准测试人员在阅读文件时遇到问题
4> benchmarker:start(slidingwindow50). true Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none Dimensions:4, Plasticity:none
Specie_Id:6.858114617542796e-10 Morphology:forex_trader
******** Population monitor started with parameters:{state,benchmark,test,[], [],undefined,undefined, undefined,[],0,0,0,0,0, undefined,undefined, undefined,undefined, undefined,undefined,0.5, 10,10,mathema,inf,10000, inf,<0.274.0>,false} Initial Tot Evaluations:0
Started Started Started Started Started Started Started
5> =ERROR REPORT==== 16-Mar-2016::14:11:34 === Error in process <0.287.0> with exit value: {badarg,[{ets,last,['EURUSD15'],[]},{fx,init_state,5,[{file,"fx.erl"},{line,375}]},{fx,sim,3,[{file,"fx.erl"},{line,284}]}]}
=ERROR REPORT==== 16-Mar-2016::14:11:34 === Error in process <0.288.0> with exit value: {badarg,[{ets,last,['EURUSD15'],[]},{fx,init_state,5,[{file,"fx.erl"},{line,375}]},{fx,sim,3,[{file,"fx.erl"},{line,284}]}]}Started Started Started
据了解,该benchmarker无法找到并使用一个表。为什么会发生这种情况,我该如何解决这个问题?
更新:重命名EURUSD15
导致运行时polis:start().
错误:
Mnesia([email protected]): Data may be missing.
的badarg
错误STIL发生和报道。
更新:挖掘到的源代码,特别是进入fx.erl
,已经使我相信,由于某种原因.txt文件名为EURUSD15
不能正常从磁盘中读取,因此它不会转换成表格,并且可以”不能被ets和其他代码使用。
fx.erl
中的文件读取有什么问题,以及如何纠正?
是的,我知道问题出在表上。有一个名为'fx_tables'的文件夹,它包含EURUSD,EURUSD.csv,EURUSD.txt和其他文件。 据我所知,该表在过程开始之前存在,并且在它死亡时不会被删除。 – Chiffa
看看编辑,找出整个项目的文件夹结构。 – Chiffa
该表是表示表名或表ID的原子,请参阅:http://erlang.org/doc/man/ets.html#type-tab该表必须已使用'ets:new/2创建'在它可以用'ets:last'访问之前,请参阅:http://erlang.org/doc/man/ets.html#new-2表不在文件中,它在内存中,所以我我不知道你的意思是一个名为'fx_tables'的文件夹。在Erlang shell中运行'ets:i()。',它将打印出在ETS中创建的所有表。您的餐桌'EURUSD15'必须在该列表中。 – Amiramix