如何在Swift的范围内使用负数?

时间:2015-01-03 15:18:12

标签: swift switch-statement operators negative-number

我有以下代码:

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,我无法弄清楚如何做到这一点。

我不理解什么?

1 个答案:

答案 0 :(得分:9)

在切换案例的情况下,a ... b是一个&#34;关闭间隔&#34;并开始 必须小于或等于间隔的结束。还必须是加号或减号 通过空格(或括号中的数字)与...分隔,所以

case -10000...(-10):
case -10000 ... -10:

的工作。

case <= -10:可以用Swift编写 使用&#34; where子句&#34;:

case let x where x <= -10: