如何在 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):