我正在使用范围为 0..<360
的 double .我想创建一个包含 8 个案例的 switch 语句。 0、90、180 和 270 的情况,以及介于两者之间的值的情况。半开运算符似乎不能满足我在这里要做的事情。我认为解决方案可能是创建一个自定义关系运算符。我们称它为<..<
case 0:
case 0<..<90:
case 90:
case 90<..<180:
case 180:
case 180<..<270:
case 270:
case 270<..<360:
我研究过创建一个返回 Bool
的自定义中缀运算符但这是行不通的,因为参数将只包括 lhs 和 rhs。
我怎样才能做到这一点?
最佳答案
您的开关不必要地复杂。看看这是否适合您:
let value: Double = 180
switch value {
case 0:
print("exactly 0")
case 0..<90:
print("less than 90")
case 90:
print("exactly 90")
case 90..<180:
print("less than 180")
case 180:
print("exactly 180")
case 180..<270:
print("less than 270")
case 270:
print("exactly 270")
default:
print("less than 360")
}
关于ios - 如何在 Swift 中制作自定义关系运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39625260/