全局变量更改为0

时间:2017-12-13 12:36:16

标签: netlogo

我有一个报告,将一个范围划分为11个步骤,如下所示:

to-report random11steps
  let step random 11 + 1 
  let step-value (minLM / 11) 
  let rnd 0
  repeat step [ 
    set rnd (rnd + step-value)
  ]
  report rnd
end

其中minLM是设置为0.005的全局变量。当我运行程序minLM时,更改为' 0。 如果我将minLM替换为0.005,则该功能有效,但我不知道为什么minLM更改为0

此外,是否有任何原语使这个程序的代码更短一些?

此致

1 个答案:

答案 0 :(得分:3)

  1. 此功能不会更改minLM;看别处。
  2. 除非绝对必要,否则不要编写依赖全局变量的函数;传递minLM作为参数。
  3. 目前还不清楚为什么要使用重复添加而不是乘法。也就是说,您可以返回(step * step-value)