全局变量变为 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
。
另外,有没有什么原语可以让这个程序的代码短一点?
此致
- 这个功能没有改变
minLM
;看看别处。
- 除非绝对必要,否则不要编写依赖于全局变量的函数;将
minLM
作为参数传递。
- 不清楚为什么要使用重复的加法而不是乘法。也就是说,您可以 return
(step * step-value)
.
我有一个将范围分为 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
。
另外,有没有什么原语可以让这个程序的代码短一点?
此致
- 这个功能没有改变
minLM
;看看别处。 - 除非绝对必要,否则不要编写依赖于全局变量的函数;将
minLM
作为参数传递。 - 不清楚为什么要使用重复的加法而不是乘法。也就是说,您可以 return
(step * step-value)
.