Как я могу получить удостоверение личности черепахи (сам, кто) В контексте спросить черепаху? - PullRequest
0 голосов
/ 31 мая 2018

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

Проблема

Внутри ask turtle процедура Я хочу, чтобы каждая черепаха вызывала метод, передавая себя в качестве параметра.Я получаю сообщение об ошибке: Expected a number rather than a list or block.

Попытки решить проблему

ask turtles [
    setxy ( mean [pxcor] of my-territory ) ( mean [pycor] of my-territory )
    show my-territory
    report-status-and-split turtle [[who] of myself]
]

, и я использую его как:

report-status-and-split [reporting-turtle]
  ...
  create-turtles 1 [
    set color red
    if reporting-turtle != nobody
      [ create-link-with reporting-turtle [ set color green ]
        move-to reporting-turtle
        fd 8
      ]
   ]

Я также пытался: report-status-and-split [who myself] и report-status-and-split [myself [who]].Все имеют ошибку Expected a literal.

Таким образом, вместо использования who, если я пытаюсь просто передать myself в качестве параметра, я получаю:

Вы не можете использовать REPORT-STATUS-AND-SPLITв контексте черепахи, потому что REPORT-STATUS-AND-SPLIT только для наблюдателей.

Я уверен, что моя проблема проста.

Как я могу правильно использовать who с черепашками внутри контекста ask-turtle?

Или как можно переосмыслить мой подход следовать методам кодирования Netlogo?

1 Ответ

0 голосов
/ 31 мая 2018

Изменить report-status-and-split turtle [[who] of myself] на report-status-and-split self.

...