Swift 1.2 (Xcode 6.3) 删除了 Bool 值的 xor '^' 运算符?
Swift 1.2 (Xcode 6.3) removed xor '^' operator for Bool value?
此示例代码在 Xcode 6.3 ...
var str1 = ""
var str2 = ""
if str1.isEmpty ^ str2.isEmpty {
// do something.
}
显示以下错误。
'^' is unavailable: use the '!=' operator instead
我在 Apple 文档中找不到规范。
这是规格吗(我不得不把它混为一谈)?
假设您正在尝试使用逻辑 XOR,!=
应该可以满足您的目的。 ^
是按位异或。因此,Apple 将其删除为 bool 值是有道理的。
明显是故意的:
$ echo ':print_module Swift' | swift -deprecated-integrated-repl | fgrep "use the '!=' operator instead"
显示:
@availability(*, unavailable, message="use the '!=' operator instead") func ^=(inout lhs: Bool, rhs: Bool)
@availability(*, unavailable, message="use the '!=' operator instead") func ^(lhs: Bool, rhs: Bool) -> Bool
此示例代码在 Xcode 6.3 ...
var str1 = ""
var str2 = ""
if str1.isEmpty ^ str2.isEmpty {
// do something.
}
显示以下错误。
'^' is unavailable: use the '!=' operator instead
我在 Apple 文档中找不到规范。 这是规格吗(我不得不把它混为一谈)?
假设您正在尝试使用逻辑 XOR,!=
应该可以满足您的目的。 ^
是按位异或。因此,Apple 将其删除为 bool 值是有道理的。
明显是故意的:
$ echo ':print_module Swift' | swift -deprecated-integrated-repl | fgrep "use the '!=' operator instead"
显示:
@availability(*, unavailable, message="use the '!=' operator instead") func ^=(inout lhs: Bool, rhs: Bool)
@availability(*, unavailable, message="use the '!=' operator instead") func ^(lhs: Bool, rhs: Bool) -> Bool