我正在尝试使用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 {
如何解决此错误?
答案 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可能会有所帮助。