Swift 子句中 NOT 运算符的问题
Problem with NOT operator in Swift clauses
我正在使用 Swift 5.0 编写一个应用程序来让我的角色在世界各地移动,我在 if
条件体中的 NOT (!) 运算符有一些问题。
我写道:
if character.!isBlocked {
character.moveForward()
}
但编译器说:错误:“.!”它不是二元运算符
相反,如果我写
if character.isBlocked {
character.turnBack()
}
它工作得很好。是否可以使用否定从句作为 if
条件从句?
如果您的目标是验证为 "if not",那么您应该将其实现为:
if !character.isBlocked {
character.moveForward()
}
逻辑 NOT !
运算符是 unary prefix 运算符:
一元:针对单个目标。
前缀:应该在目标之前。
那么,为什么它应该在 character.isBlocked
而不是 isBlocked
之前?
因为 character.isBlocked
是要评估的布尔值,所以 isBlocked
是 属性 名称。正确的语法是使用 !
来评估整个事物(布尔值)。
我正在使用 Swift 5.0 编写一个应用程序来让我的角色在世界各地移动,我在 if
条件体中的 NOT (!) 运算符有一些问题。
我写道:
if character.!isBlocked {
character.moveForward()
}
但编译器说:错误:“.!”它不是二元运算符
相反,如果我写
if character.isBlocked {
character.turnBack()
}
它工作得很好。是否可以使用否定从句作为 if
条件从句?
如果您的目标是验证为 "if not",那么您应该将其实现为:
if !character.isBlocked {
character.moveForward()
}
逻辑 NOT !
运算符是 unary prefix 运算符:
一元:针对单个目标。
前缀:应该在目标之前。
那么,为什么它应该在 character.isBlocked
而不是 isBlocked
之前?
因为 character.isBlocked
是要评估的布尔值,所以 isBlocked
是 属性 名称。正确的语法是使用 !
来评估整个事物(布尔值)。