我正在尝试弄清楚如何使用Swift中的Stride功能。
从Xcode7.0beta6开始,它似乎又发生了变化。
以前我可以使用
let strideAmount = stride(from: 0, to: items.count, by: splitSize)
let sets = strideAmount.map({ clients[$0..<advance($0, splitSize, items.count)] })现在,尽管有代码提示,我还是不知道如何使用这个特性。
任何例子都是有帮助的,谢谢。
我看过examples,但我无法掌握如何使用它。我从苹果文档中得到的信息是有限的。
谢谢
发布于 2015-08-25 15:34:54
它有一点变化,下面是新的语法:
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)发布于 2019-11-12 13:11:10
swift 4.2中stride函数的用法
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
复制相似问题