将`let`变量的域转换为`ask`

时间:2018-04-25 13:54:55

标签: netlogo

我想知道letask turtles [...]定义的变量是否仅属于每只乌龟,也就是说,ask turtles [...]的并列执行是针对整个内容或说明的在括号中,海龟没有同时执行[]的指令。

问候

1 个答案:

答案 0 :(得分:3)

let的范围是它出现的直接[]let属于范围,而不属于任何代理。也就是说,它不会在ask之外持续存在。其次,ask不会并行运行每个代理;它以随机顺序依次运行它们(因为没有对代理集进行排序)。看到这个的好方法:

create-turtles 10
ask turtles [
  let id who
  show id
  set id "hi"
  show "hi"
]

示例输出:

(turtle 6): 6
(turtle 6): "hi"
(turtle 9): 9
(turtle 9): "hi"
(turtle 0): 0
(turtle 0): "hi"
(turtle 7): 7
(turtle 7): "hi"
(turtle 8): 8
(turtle 8): "hi"
(turtle 5): 5
(turtle 5): "hi"
(turtle 4): 4
(turtle 4): "hi"
(turtle 2): 2
(turtle 2): "hi"
(turtle 1): 1
(turtle 1): "hi"
(turtle 3): 3
(turtle 3): "hi"

这会回答你的问题吗?如果没有,请告诉我,我很乐意澄清。