使用未解析的运算符< =

时间:2016-09-01 01:26:12

标签: ios swift for-loop swift3

我正在尝试使用Swift 3 for-loops,但我没有成功。这就是我所拥有的:

for assumedPayRate: Double in (0.25..<=billRate) where assumedPayRate += 0.25 {

..<=上,它给出了错误:

  

使用未解析的运算符&#39; ..&lt; =&#39;

这是最初的Swift 2版本:

for var assumedPayRate:Double = 0.25; assumedPayRate <= billRate; assumedPayRate += 0.25 {

如何解决此错误?

4 个答案:

答案 0 :(得分:2)

Swift有两个范围运算符 - .....<

...运算符对应

for i = start ; i <= end ; i++

..<对应

for i = start ; i < end ; i++

在伪代码中。

您可以使用...运算符执行¼步(即0.25):

for r in 1 ..< 4*billRate {
    let assumedPayRate = r / 4.0
    ...
}

答案 1 :(得分:2)

操作符..<=在Swift中不存在,并且您的语法无效。请改用stride

// Assuming billRate is a Double
for assumedPayRate in stride(from: 0.25, through: billRate, by: 0.25) {
    // Do your things
}

答案 2 :(得分:0)

没有..&lt; =,您需要将语句转换为while

var assumedPayRate = 0.25
while assumedPayRate <= billRate {
   ... // processing

   assumedPayRate += 0.25
}

答案 3 :(得分:0)

您可以使用advanced operator来完成这项工作,但您需要自己编写。 official documentation可能会有所帮助。