此問題與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