Using Stride in Swift 2.0

左心房为你撑大大i 提交于 2019-12-03 08:16:43

问题


I'm trying to figure out how to use the Stride features in Swift.

It seems to have changed again, since Xcode 7.0 beta 6.

Previously I could use

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

Now, despite the code hint I cannot figure out how to use this feature.

Any examples would be helpful thanks.

I've looked at examples, but I cannot come to grips with how to use it. All I get from the Apple Docs are limited.

Thanks


回答1:


It changed a bit, here is the new syntax:

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

and

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

if you take a look at here, you can see what types conform to the Strideable protocol.

As @RichFox pointed out, in Swift 3.0 the syntax changed back to the original global function form like:

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



回答2:


Usage of stride function in 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(" ")
}


来源:https://stackoverflow.com/questions/32197250/using-stride-in-swift-2-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!