NetLogo: Как попросить черепаху что-то сделать, если «хотя бы один член ее сети» - PullRequest
0 голосов
/ 03 октября 2018

Я хочу попросить черепах сделать что-то в двух случаях: 1) если ВСЕ члены их сети показывают определенную функцию, 2) если, по крайней мере, один член их сети показывает определенную функцию.Для первого случая я попытался

                ask turtles [ if all? link-neighbors [audit?-last-tick = false] [
                set delta 0]

, и это работает.Во втором случае я попытался

                ask turtles [ if any? link-neighbors [audit?-last-tick = true] [
                set delta 1]

или

                ask turtles [ if one-of link-neighbors [audit?-last-tick = true] [
                set delta 1]

, но это не работает.

Можете ли вы помочь мне, пожалуйста?

1 Ответ

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

Вам нужно with:

ask turtles [
  if any? link-neighbors with [ audit?-last-tick ] [
    set delta 1
  ]
]

Обратите внимание, что вы также можете использовать with вместо if:

ask turtles with [ any? link-neighbors with [ audit?-last-tick ] ] [
  set delta 1
]

И это, если вы не ожидаете audit?-last-tick чтобы возможно иметь не булево значение, вы можете написать [ audit?-last-tick ] вместо [ audit?-last-tick = true ].

...