快速更改C样式的for循环以更改初始变量的方法?

时间:2020-02-29 03:41:18

标签: swift loops for-loop

在许多语言中,如下所示,for循环都可以更改<div class="container"> <div class="container--button simple-button"> <button>Button A</button> </div> <div class="container--button multiple-buttons"> <button>Button B</button> <button>Button C</button> </div> </div>。这个for循环将使每个循环加倍。

i

雨燕有for(int i = 0; i < total; i = i + i){}

for var i in stride(from: 0, to: total, by: N)

但都不允许我们像上述循环的C样式那样更改for i in 0..<total

有没有一种快速的方法来做到这一点? 目标是改变每个循环的速度,而不是像大步前进N那样以恒定的方式。

1 个答案:

答案 0 :(得分:1)

您正在寻找sequence全局函数。相当于您的

for(int i = 0; i < total; i = i + i)

(我假设您的意思是1,而不是0,否则您将永远得到0,是吗?)是

let total = 100 // let's say
let seq = sequence(first:1) {$0 >= 100 ? nil : $0 + $0}
for i in seq {
    print(i)
}

输出:

1
2
4
8
16
32
64
128