Netologo 行为 Space:让每个代理报告值

Netologo Behavior Space: have each agent report values

我想 运行 行为 Space 扫描我的模型并让每个代理报告他们在结果中拥有的各自值。

这是我用来要求每个代理报告值的代码。

to-report wrapup 

  ask artcollectors

  [
    type who
    type " "
    type num-artcollectors
    type " "
    type num-subjectmatters
    type " "
    type c-artcollection-size
    type " "
    type c-self-reference-bias
    type " "
    type c-artdisposal-rate
    type " "
    type c-random-bias
    type " , "
    print clist
  ]
end

当我这样做并向控制台报告时,Netlogo 将制作第一个 运行 并向控制台报告结果,然后 Nelogo 在第一个 运行 结束时停止并报告

"Reached end of reporter procedure without REPORT being called.
error while observer running END
  called by procedure WRAPUP
  called by procedure __EVALUATOR"

所以我知道我没有 运行在我的总结过程中使用正确的语法。任何人都可以建议我需要使用的魔法词吗?

一个 to-report 过程是一个报告程序,因此必须 return 对调用者有一些价值。您的 wrapup 程序实际上是一个命令 - 代理执行某些操作然后停止。因此,您应该使用命令过程的声明,to wrapup 而不是 to-report wrapup.

希望这对您有所帮助, 查尔斯