我想知道let
中ask turtles [...]
定义的变量是否仅属于每只乌龟,也就是说,ask turtles [...]
的并列执行是针对整个内容或说明的在括号中,海龟没有同时执行[]的指令。
问候
答案 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"
这会回答你的问题吗?如果没有,请告诉我,我很乐意澄清。