了解NetLogo语法

时间:2018-01-26 00:47:11

标签: netlogo

我应该如何理解一行代码的语法:

crt 50 [set breed ifelse-value (who mod 2 = 1) [mice] [frogs]]

它创造了50只乌龟,其中一半是老鼠,另一半是青蛙。我的问题是关于ifelse-value声明中的两个记者块。 [mice]返回mice品种意味着什么?

  1. 我应该如何理解标识符mice? NetLogo手册说NetLogo不支持类似Lisp的符号。但这似乎就是这样。

  2. 预期作为记者的代码块和包含可以评估的表达式的代码块是否返回(报告)该表达式的值?

1 个答案:

答案 0 :(得分:3)

  

我应该如何理解标识符mice

这是一名记者。它返回一个代理集。

NetLogo编译器将mice标识符转换为对内部_breed()报告者的参数化调用。其他&#34;品种&#34;原语(例如<breeds>-atwork the same way

  

预期作为记者的代码块和包含可以评估的表达式的代码块是否返回(报告)该表达式的值?