Netologo Behavior Space: пусть каждый агент сообщает значения - PullRequest
1 голос
/ 15 июня 2019

Я хотел бы запустить очистку Поведения поведения в моей модели, и каждый агент должен сообщить соответствующие значения, которые они имеют в результатах.

Вот код, который я использую, чтобы попросить каждого агента сообщитьзначения.

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"

Итак, я понял, что в моей процедуре подстановки у меня неправильный синтаксис.Кто-нибудь может подсказать магические слова, которые мне нужно использовать?

1 Ответ

1 голос
/ 15 июня 2019

A to-report процедура является репортером и поэтому должна возвращать вызывающей стороне некоторое значение. Ваша wrapup процедура на самом деле является командой - агент что-то делает, а затем останавливается. Таким образом, вы должны использовать объявление для командной процедуры, to wrapup rahter чем to-report wrapup.

Надеюсь, это поможет, Charles

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...