Swift

Swiftで(a==1&&a==2&&a==3)を常にtrueにする

(a==1&&a==2&&a==3)を常にtrueにするStackOverflowの問題を解いたQiita記事まとめを見て、Swiftでも書いてみました。

get副作用版

var i: Int = 0
var a: Int {
    if i == 3 { i = 0 }
    i += 1
    return i
}

print(a == 1 && a == 2 && a == 3)   // true
print(a == 1 && a == 2 && a == 3)   // true

==オーバーロード版

extension Int {
    static func ==(lhs: Int, rhs: Int) -> Bool {
        return true
    }
}

var a: Int = 0

print(a == 1 && a == 2 && a == 3)   // true
print(a == 1 && a == 2 && a == 3)   // true