Netlogo 全局变量更改为0
我有一份报告将一个范围划分为11个步骤,如下所示:Netlogo 全局变量更改为0,netlogo,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.00
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
此外,是否有任何原语可以使这个过程的代码缩短一点
问候
minLM
;看看别的地方李>
minLM
作为参数传递李>
(步骤*步骤值)
谢谢你的回答。否。
minLM
的值是一个常量或固定参数。第3点。您是对的。@user1993416编写函数时最好使用参数,而不是依赖全局变量。(还有,我不明白你的“不”。)非常感谢。我的回答的意思是,minLM
的值是一个常数,在任何一行代码中都不会改变。我已在设置中定义了设置minLM 0.005
,之后不会更改该值。我不知道我遗漏了什么,也不知道为什么minLM是0而不是0.005。您没有发布足够的代码来确定这一点,但只足以确认您的Random11步骤
不是问题的根源。但是,请确保设置中的清除所有命令在开始时就出现。它将所有全局变量重置为0
。