在 Swift 2.0 中使用 Stride

Using Stride in Swift 2.0

我正在尝试了解如何使用 Swift 中的 Stride 功能。

好像又变了,自从Xcode7.0 beta 6.

以前我可以使用

let strideAmount = stride(from: 0, to: items.count, by: splitSize)
let sets = strideAmount.map({ clients[[=11=]..<advance([=11=], splitSize, items.count)] })

现在,尽管有代码提示,我还是不知道如何使用此功能。

任何例子都会有所帮助,谢谢。

我看过 examples,但我无法掌握如何使用它。我从 Apple Docs 获得的所有内容都是有限的。

谢谢

有点改动,这里是新语法:

0.stride(to: 10, by: 2)

Array(0.stride(to: 10, by: 2)) // is [0, 2, 4, 6, 8]

如果你看一下 here,你可以看到哪些类型符合 Strideable 协议。

正如@RichFox 指出的那样,在 Swift 3.0 中,语法变回了原始的全局函数形式,例如:

stride(from:0, to: 10, by: 2)

stride函数在swift 4.2

中的使用
12345
 2345
  345
   45
    5
    5
   45
  345
 2345
12345


for i in 1...5{
    for k in 1...i{
        print(terminator : " ")
    }
    for j in stride(from: i, to: 6, by: 1){
        print(j , terminator : "")
    }

    print(" ")
}
for i in stride(from: 5, to: 0, by: -1)
{
    for k in 1...i{
        print(terminator : " ")
    }
    for j in stride(from: i, to: 6, by: 1){
        print(j,terminator : "")
    }
    print(" ")
}
1 2 3 4 5
 2 3 4 5
  3 4 5
   4 5
    5
    5
   4 5
  3 4 5
 2 3 4 5
1 2 3 4 5
for i in 1...5{
    for k in 0...i{
        print(terminator : " ")
    }
    for j in stride(from: i, to: 6, by: 1){
        print(j , terminator : " ")
    }

    print(" ")
}

for i in stride(from: 6, to: 1, by: -1){
    for k in 1...i{
        print(terminator : " ")
    }
    for j in stride(from: i-1, to: 6, by: 1){
        print(j , terminator : " ")
    }

    print(" ")
}