• 请不要在回答技术问题时复制粘贴 AI 生成的内容
vvard3n
V2EX  ›  程序员

Swift 3 移除了 C 语言风格的 for 循环,移除了++/--语法,如何调整步长值呢?

  •  
  •   vvard3n · Jun 15, 2016 · 9125 views
    This topic created in 3709 days ago, the information mentioned may be changed or developed.
    for var i in 1...10 {
        print("\(i)")
        i+=2
    }
    

    貌似这样也不行

    直接输入 for 敲回车的话自动生成模板的话是下面这样

    for *item* in *items* {
    
       *code*
    
    }
    
    21 replies    2016-06-16 17:05:38 +08:00
    arden
        1
    arden  
       Jun 15, 2016
    感觉苹果真的也是醉了,用户都习惯这语法,偏要重新搞一套出来,我就不明白++, --有什么不好?
    fcicq
        2
    fcicq  
       Jun 15, 2016   ❤️ 1
    查了下用 0.stride(to: 10, by: 2) 就和 python 的 range 差不多了. var 不能写在 for..in 里.
    vvard3n
        3
    vvard3n  
    OP
       Jun 15, 2016
    ```
    for var i in stride(from: 0, to: 10, by: 2) {
    print("\(i)")
    }
    ```

    这样就可以了。。。
    fcicq
        4
    fcicq  
       Jun 15, 2016
    @vvard3n var 竟然可以写里面... 不过不好看啊.
    free9fw
        5
    free9fw  
       Jun 15, 2016
    for var i in 1...10 {
    if i % 2 == 0 {
    print("\(i)")
    i+=2
    }
    }
    miyuki
        6
    miyuki  
       Jun 15, 2016   ❤️ 3
    Swift 从精通到重学
    loveuqian
        7
    loveuqian  
       Jun 15, 2016
    只能呵呵了,我敲 for 都没提示的
    要我自己手动敲 for xxx in xxx
    真累
    Tuccuay
        8
    Tuccuay  
       Jun 15, 2016


    🌚
    congeec
        9
    congeec  
       Jun 16, 2016 via iPhone
    Apple : Python 大法好
    tutuge
        10
    tutuge  
       Jun 16, 2016   ❤️ 1
    @arden ++ -- 很容易造成基础不扎实的乱用=。=,“附带伤害”大。。。
    mko0okmko0
        11
    mko0okmko0  
       Jun 16, 2016
    @tutuge 同意
    我想说的你概括了
    yyfearth
        12
    yyfearth  
       Jun 16, 2016
    @arden @miyuki 我想因为 Apple 想让熊孩子学 Swift
    RqPS6rhmP3Nyn3Tm
        13
    RqPS6rhmP3Nyn3Tm  
       Jun 16, 2016 via Android
    Apple: 虽然我出了一个新语言,但是我的终极目标是让你们都学 Python
    lightening
        14
    lightening  
       Jun 16, 2016
    我没学过 Swift ,不过随便搜了一下好像有

    for index in 1...100 {
    ...
    }

    Ruby 也是这样的。虽然写了几年 Ruby 从来没用过 for ……
    lightening
        15
    lightening  
       Jun 16, 2016
    不好意思没看清问题。不过很好奇在什么情况下你需要调整步长值呢?
    tzheng
        16
    tzheng  
       Jun 16, 2016 via iPhone
    2 楼正解 stride 的参数可以有 from, to 和 by 步长可以为负可以是浮点
    qiukun
        17
    qiukun  
       Jun 16, 2016 via Android
    调步长用 while
    kideny
        18
    kideny  
       Jun 16, 2016
    王垠大师不是喷过, swift 的设计者是编译器专家,不是 PL 专家嘛。
    哈哈!
    WenhaoWu
        19
    WenhaoWu  
       Jun 16, 2016
    for i in 1...20 step 2{
    print(i) // 1 3 5...
    }
    快来我 kotlin 神教
    jason19659
        20
    jason19659  
       Jun 16, 2016
    慢慢都都变成函数式的语法了
    jackisnotspirate
        21
    jackisnotspirate  
       Jun 16, 2016
    for x in sequence(first: 0.1, next: { $0 * 2})
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2730 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 15:17 · PVG 23:17 · LAX 08:17 · JFK 11:17
    ♥ Do have faith in what you're doing.