如何在 Swift 中使用范围内的负数?
How do I use negative numbers in a range in Swift?
我有以下代码:
switch self.score
{
case 1:
self.score = self.score - 2
case -10...-10000: // ! Expected expression after unary operator
println("lowest score")
self.score = -10
default:
self.score = self.score - 1
}
我也试过case -1000...-10:
。两者都得到相同的错误 ! Expected expression after unary operator
.
我真正想做的是 case <= -10:
,但如果不出现此错误,我不知道该怎么做 Unary operator cannot be separated from its operand
。
我哪里不明白?
在 switch case 的上下文中,a ... b
是一个 "closed interval" 并且开始
必须小于或等于间隔的末尾。加号或减号也必须是
用 space(或括在括号中的数字)与 ...
分隔,因此两者
case -10000...(-10):
case -10000 ... -10:
工作。
case <= -10:
可以写成Swift
使用 "where clause":
case let x where x <= -10:
从Swift 4开始,这可以写成“单边范围表达式”:
case ...(-10):
我有以下代码:
switch self.score
{
case 1:
self.score = self.score - 2
case -10...-10000: // ! Expected expression after unary operator
println("lowest score")
self.score = -10
default:
self.score = self.score - 1
}
我也试过case -1000...-10:
。两者都得到相同的错误 ! Expected expression after unary operator
.
我真正想做的是 case <= -10:
,但如果不出现此错误,我不知道该怎么做 Unary operator cannot be separated from its operand
。
我哪里不明白?
在 switch case 的上下文中,a ... b
是一个 "closed interval" 并且开始
必须小于或等于间隔的末尾。加号或减号也必须是
用 space(或括在括号中的数字)与 ...
分隔,因此两者
case -10000...(-10):
case -10000 ... -10:
工作。
case <= -10:
可以写成Swift
使用 "where clause":
case let x where x <= -10:
从Swift 4开始,这可以写成“单边范围表达式”:
case ...(-10):