全局变量变为 0

Global variable changes to 0

我有一个将范围分为 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。 如果我用 0.005 替换 minLM 函数有效,但我不知道为什么 minLM 变为 0

另外,有没有什么原语可以让这个程序的代码短一点?

此致

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