NetLogo 6匿名程序没有输入

时间:2017-01-18 15:33:31

标签: netlogo

在编程指南中,提到匿名过程没有输入:

[[] -> fd 1]
[[] -> count turtles]

我的问题是这种程序的用途是什么?

1 个答案:

答案 0 :(得分:3)

如果从grep -rl "\[\] ->"文件夹运行models,您将在NetLogo模型库中看到一些示例,即:

Code Examples/Extensions Examples/nw/NW General Examples.nlogo
Code Examples/State Machine Example.nlogo
3D/Sample Models/Termites 3D.nlogo3d
Sample Models/Biology/BeeSmart Hive Finding.nlogo
Sample Models/Chemistry & Physics/Sandpile.nlogo
Sample Models/Social Science/Hotelling's Law.nlogo
IABM Textbook/chapter 8/Sandpile Simple.nlogo

我建议你看看它们,但常见的用途是存储一个你希望乌龟稍后执行的任务。

如果你采用状态机示例,你会看到白蚁有一个next-task变量被设置为不同的匿名程序,具体取决于白蚁应该做什么。例如,当一个白蚁偶然发现一堆芯片时,它的下一个任务就是放下它目前持有的芯片:

to find-new-pile  ;; turtle procedure -- look for yellow patches
  if pcolor = yellow
    [ set next-task [ [] -> put-down-chip ] ]
end

您并不总是需要这种技术,但它是建模某种系统(例如状态机)的强大工具。