1

两个跨步函数有什么区别?

stride(from:to:by)&(from:through:by)

在阅读教程时,跨步控制流我发现根据我的知识,两种类型的跨步功能都像一样工作,我不知道它们之间有什么区别,因此任何人都可以解释?

使用步幅(从:到:通过:)

let minutes = 60
let minuteInterval = 5
for tickMark in stride(from: 0, to: minutes, by: minuteInterval) {
    // render the tick mark every 5 minutes (0, 5, 10, 15 ... 45, 50, 55)
}

使用 stride(from:through:by:) 代替:

let hours = 12
let hourInterval = 3
for tickMark in stride(from: 3, through: hours, by: hourInterval) {
    // render the tick mark every 3 hours (3, 6, 9, 12)
}
4

1 回答 1

3

stride(from:through:by:)

返回值序列,(self, self + stride, self + 2 * stride, … last)其中last是进程中小于或等于 end的最后一个值。

stride(from:to:by:)

返回值序列,(self, self + stride, self + 2 * stride, … last)其中last是进程中小于 end的最后一个值。

注意粗体文本的区别。

[0...10]这是封闭范围(如 )和开放范围(如)之间的区别[0..<10]

于 2018-03-16T04:19:02.643 回答