我正在尝试创建一个可以被我的所有补丁访问的数组,但似乎即使我将其设置为全局,它也仅在我给它一个值的函数中可用。我在各自的位置有以下三段代码:
globals[a]
在我的程序顶部,在我的设置功能中
set a array:from-list n-values asize [0]
对于我的setup函数中定义的整数asize
,我的go方法调用一个函数addtoarr
,该函数运行以下行:
array:set a index val
表示此函数中前面定义的index
和val
。值得注意的是,这在ask patches
之内。当我运行此代码时,我收到以下错误:
Extension exception: not an array: 0
error while patch 70 91 running ARRAY:SET
called by procedure ADDTOARR
called by procedure GO
called by Button 'go-forever'
我对此错误感到非常困惑,因为在我看来,我将a
定义为数组,但Netlogo在该意见中有所不同。 netlogo不支持全局数组吗?任何帮助将不胜感激。