两个步幅函数有什么区别?
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)
}
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]
这样的开放范围之间的区别。