我可以在Chapel中使用数组作为配置const

时间:2018-05-21 21:29:56

标签: chapel

我希望我的座席的起始位置可配置。在Chapel代码中我有

var DOG_STARTING_POSITION: [1..0] int;

然后在.cfg文件中

DOG_STARTING_POSITION=[25,25]

但这会产生错误

error: type mismatch in assignment from string to int(64)

1 个答案:

答案 0 :(得分:0)

  

我可以在Chapel中使用数组作为配置const吗?

没有

这已由@bencray在2017/12年解释

  

Chapel 1.16中的Chapel尚不支持

与此同时,存在一个共同的代理解决方案:

考虑到希望读取整个可配置 - 阵列内容,可以总是从配置文件(这种可配置的,管道组织的计算流程中的常见步骤)安排输入。

如果上述尝试实际上是希望使用间接寻址的可配置方式, 让我们

// DOG_STARTING_POSITION     = [25, 25]
   DOG_STARTING_POSITION_ROW =  25
   DOG_STARTING_POSITION_COL =  25
// and the already compiled code may later freely reference the value by:

   DOG_STARTING_POSITION     = anArrayCONTENT[ DOG_STARTING_POSITION_ROW,
                                               DOG_STARTING_POSITION_COL
                                               ];
/* using the indirect-addressing,
         delivered as
                      config const ( i.e. as trivial int coordinates
                                          from outside
                                          the code-execution context
                                          )
                   as late as
                   at run-time
                   */