Xcode 6.3 でのこのサンプル コード ...
var str1 = ""
var str2 = ""
if str1.isEmpty ^ str2.isEmpty {
// do something.
}
次のエラーが表示されます。
'^' is unavailable: use the '!=' operator instead
Apple のドキュメントに仕様が見つかりません。これは仕様ですか (ひとまとめにする必要があります)。
論理 XOR を使用しようとしていると仮定すると、 a!=
が目的にかなうはずです。これ^
はビット単位の XOR です。したがって、Apple がブール値のためにそれを削除したのは理にかなっています。
それは明らかに意図的です:
$ 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