ets和读取文件时出错

时间:2016-03-17 09:28:58

标签: erlang erlang-shell ets

免责声明:我没有写这段代码,我只是想让它发挥作用。

我正试图让here的代码正常工作。 该设置是安装了Erlang的Ubuntu 14.04 64位机器。

行动顺序如下: 我正在做的事情如下:

  1. 克隆代码
  2. cd到包含代码的文件夹和终端
  3. 中的erl
  4. make:all([load]).
  5. polis:create().
  6. polis:start().
  7. benchmarker:start(slidingwindow50).
  8. 我得到的错误是:

    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}]}]}
    

    查看fx.erl的代码表明问题可能源于ets部分和.txt文件未从磁盘读取到内存中的表。

    更新:我一直在尝试调查fx的功能。到目前为止,我已经有了这样的结果: fx:sim(anything)输出“已启动”并使shell无响应; fx:init().导致

      

    初始化外汇货币   表:[元数据,'EURUSD15','EURUSD30','EURUSD60'] FX元数据&amp;   货币表初始化并写入文件。   确定

    fx:loop().会输出很多

      

    新记录插入表格:'EURUSD15'

    最后一行是

      

    新的FOREX_DB更新,以:{2009,6,16,7,30,0,15}

    开头

    然后

      

    =错误报告==== 2016年3月22日:: 16:41:26 ===过程中的错误&lt; 0.357.0&gt;退出值:   {badarg,[{FX,insert_ForexRaw,2,[{文件, “fx.erl”},{线,767}]},{FX,更新器,如图1所示,[{文件, “fx.erl”},{线,698}]},{FX,心跳,3,[{文件, “fx.erl”},{线,692}]}]}

    ets:i().后显示fx:init().没有显示名为EURUSD15的表格。

    为什么会这样,我该如何解决?

    P.S。 如果找到工作解决方案,我打算要求将更改与原始代码合并(基本上,我会尝试推送请求)。

1 个答案:

答案 0 :(得分:-1)

我熟悉这个平台,我们在我们的机器上运行它,去年我们将它用作我们的培训材料。

这是因为您在启动基准测试程序之前没有启动外汇模拟器。