Полученное вами сообщение, что «WITH ожидал значение true / false от (patch 1 63), но вместо этого получил 0». было связано с тем, что is-summer?
был инициализирован с clear-all
до 0
, поэтому
set dest-patch one-of patches with [is-summer?]
дает оператору with
номер ноль, а не значение true / false. Эта строка кода должна go позже в процедуре установки, после , патчи установили для своей переменной is-summer?
либо true
, либо false
, возможно, непосредственно перед строкой
;; set fence gis:load-dataset ("highfence_project.shp")
Обратите внимание, что ответ ZINAN10 исключает сообщение об ошибке, но если разместить его там, где он сейчас, это эквивалентно высказыванию
set dest-patch one-of patches with [0 = true]
, что, конечно, никогда не соответствует действительности. dest-patch
будет nobody
. В общем, если переменная действительно имеет значение true / false, вы не должны использовать оператор =
, поскольку он будет скрывать именно ту ошибку, с которой вы здесь столкнулись.
Надеюсь, это поможет, Charles