Edited at

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

More than 1 year has passed since last update.

(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