XCode 6.3在带有布尔值的&=
上返回编译错误。
'&=' is unavailable: use the '&&' operator instead
示例:
var myBool = false
myBool &= true
知道它被删除的原因吗?
答案 0 :(得分:2)
我猜他们会删除它,因为&=
是其他类型的按位运算符,因此它作为布尔值上的逻辑运算符会不一致(并且Bool
上的按位运算可能是皱眉的),真的应该是&&=
。这可能没有定义,因为它具有最小的效用。但如果你想要它:
infix operator &&= {
associativity right
precedence 90
assignment
}
func &&=(inout lhs: Bool, @autoclosure rhs: ()->Bool) {
lhs = lhs && rhs
}
var myBool = true
myBool &&= false