Проблема с оператором NOT в предложениях Swift - PullRequest
1 голос
/ 27 июня 2019

Я программирую в Swift 5.0 приложение для перемещения своего персонажа по миру, и у меня есть некоторые проблемы с оператором NOT (!) В теле условия if. Я написал:

 if character.!isBlocked {
    character.moveForward()
 }

но компилятор говорит: Ошибка: ".!" это не бинарный оператор

Вместо этого, если бы я написал

if character.isBlocked {
        character.turnBack()
     }

работает отлично. Возможно использование отрицательного предложения в качестве if условия условия?

1 Ответ

1 голос
/ 27 июня 2019

Если вы хотите подтвердить, что «если нет», вы должны реализовать его как:

if !character.isBlocked {
    character.moveForward()
}

Логический оператор NOT ! представляет собой унарный префикс оператор:

  • Унарный: для одной цели.

  • Префикс: это должно быть раньше цели.

Итак, почему это должно быть до character.isBlocked, а не isBlocked?

Поскольку character.isBlocked - это логическое значение для оценки, isBlocked - это имя свойства. Правильный синтаксис - использовать ! для оценки всего (логическое значение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...