首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift 2.0中使用Stride

在Swift 2.0中使用Stride
EN

Stack Overflow用户
提问于 2015-08-25 14:48:35
回答 2查看 17K关注 0票数 31

我正在尝试弄清楚如何使用Swift中的Stride功能。

从Xcode7.0beta6开始,它似乎又发生了变化。

以前我可以使用

代码语言:javascript
复制
let strideAmount = stride(from: 0, to: items.count, by: splitSize)
let sets = strideAmount.map({ clients[$0..<advance($0, splitSize, items.count)] })

现在,尽管有代码提示,我还是不知道如何使用这个特性。

任何例子都是有帮助的,谢谢。

我看过examples,但我无法掌握如何使用它。我从苹果文档中得到的信息是有限的。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-25 15:34:54

它有一点变化,下面是新的语法:

代码语言:javascript
复制
0.stride(to: 10, by: 2)

代码语言:javascript
复制
Array(0.stride(to: 10, by: 2)) // is [0, 2, 4, 6, 8]

如果您查看一下here,就会发现哪些类型符合Strideable协议。

正如@RichFox指出的,在Swift 3.0中,语法改回了原始的全局函数形式,如下所示:

代码语言:javascript
复制
stride(from:0, to: 10, by: 2)
票数 67
EN

Stack Overflow用户

发布于 2019-11-12 13:11:10

swift 4.2中stride函数的用法

代码语言:javascript
复制
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(" ")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32197250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档