В настоящее время я строю маршрут для грузовика, чтобы проехать по моей netlogo земле.
Когда грузовик находится рядом с магазином-патчем, куда он должен доставить, грузовик должен изменить свои действия.
Однако мое утверждение if
или ifelse
, кажется, не отвечает должным образом, и ответ зависит от результата. С некоторыми тестами:
*turtles> ifelse ((patch (first dirx) (first diry)) = one-of neighbors4) [write "11"] [write "22"]
"11"*
*turtles> ifelse ((patch (first dirx) (first diry)) = one-of neighbors4) [write "111"] [write "122"]
"122"*
*turtles> ifelse (patch (first dirx) (first diry)) = one-of neighbors4 [write "111"] [write "122"]
"122"*
*turtles> ifelse (patch (first dirx) (first diry)) = one-of neighbors4 [write "11"] [write "12"]
"12"*
*turtles> ifelse (patch (first dirx) (first diry)) = one-of neighbors4 [write "11"] [write "22"]
"11"*
Обратите внимание, что в течение этого времени я не двигаю свой грузовик, я использую командный центр, чтобы задать эти вопросы (с точки зрения черепахового грузовика).
Я очень смущен этим. Как единственное, что я изменяю, это действие (что писать). Это не должно влиять на истинное / ложное утверждение.
Кто-нибудь знает, что здесь происходит и почему ifelse
странно реагирует?