当我在PlayGround中使用for循环时,一切正常,直到我将for循环的第一个参数更改为最高值.(按降序迭代)
这是虫子吗?其他人有吗?
for index in 510..509
{
var a = 10
}
显示将要执行的迭代次数的计数器一直在滴答作响.
当我在PlayGround中使用for循环时,一切正常,直到我将for循环的第一个参数更改为最高值.(按降序迭代)
这是虫子吗?其他人有吗?
for index in 510..509
{
var a = 10
}
显示将要执行的迭代次数的计数器一直在滴答作响.
Xcode6beta 4添加了两个函数,以便使用一个步骤而不是一个步骤迭代范围:
stride(from: to: by:)
与独占范围一起使用,stride(from: through: by:)
与包含范围一起使用.
要按相反顺序迭代范围,可以使用它们,如下所示:
for index in stride(from: 5, to: 1, by: -1) {
print(index)
}
//prints 5, 4, 3, 2
for index in stride(from: 5, through: 1, by: -1) {
print(index)
}
//prints 5, 4, 3, 2, 1
请注意,这两个函数都不是Range
个成员的函数.它们是返回StrideTo
或StrideThrough
struct 的全局函数,这两个 struct 的定义与Range
struct 不同.
这个答案的前一个版本使用了Range
struct 的by()
个成员函数,该函数在测试版4中已被删除.如果您想了解它是如何工作的,请查看编辑历史记录.