Разница между `is-agent?` И `is-turtle?` - PullRequest
0 голосов
/ 31 октября 2018

Я считаю, что это, должно быть, простой вопрос, но я не нашел разницы между is-agent? и is-turtle? примитивами, и когда я должен использовать один вместо другого.

1 Ответ

0 голосов
/ 31 октября 2018

Черепахи, патчи и ссылки - все агенты. Так что is-agent? вернет true для любого из них. Но патчи и ссылки, очевидно, не являются черепахами, поэтому is-turtle? вернет false для них.

breed [ ghouls ghoul ]

to test
  clear-all
  create-turtles 1
  create-ghouls 1
  ask turtle 0 [ create-link-to turtle 1 ]

  show is-agent? turtle 0   ; true
  show is-agent? ghoul 1    ; true
  show is-agent? patch 0 0  ; true
  show is-agent? link 0 1   ; true

  show is-turtle? turtle 0  ; true
  show is-turtle? ghoul 1   ; true
  show is-turtle? patch 0 0 ; false
  show is-turtle? link 0 1  ; false

  show is-ghoul? turtle 0   ; false
  show is-ghoul? turtle 1   ; true
end    

Итак, если вы пытаетесь отличить агентов от таких вещей, как числа, строки и значения true / false, вы должны использовать is-agent?. Если вы действительно хотите иметь дело с черепахами, используйте is-turtle?.

...