问题
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