Swift生成数值序列的stride步进器
Swift生成数值序列的stride步进器

Swift生成数值序列的stride步进器

stride 是 Swift 中生成连续值序列的一个函数(类似于 Python 的 range()),它可以生成等间距的数值序列。

基本语法

stride(from: 起始值, through: 结束值, by: 步长)

stride(from: 起始值, to: 结束值, by: 步长)

代码示例

let stridesThrough = Array(stride(from: 0, through: 20, by: 5))print(stridesThrough) // [0, 5, 10, 15, 20]

1)stride(from:through:by:):从指定的起点开始,每次增加指定的步长,直到到达或穿过终点。

from:起始值(包含)。

through:终止值(包含)。

by:步长,可以是正数(递增)或负数(递减)。

特点:包括终点。

let stridesTo = Array(stride(from: 0, to: 20, by: 5))
print(stridesTo)	// [0, 5, 10, 15]

2)stride(from:to:by:):从指定的起点开始,每次增加指定的步长,直到到达(但不包括)终点。

from:起始值(包含)。

to:终止值(不包含)。

by:步长,可以是正数(递增)或负数(递减)。

特点:不包括终点。

遍历序列

可以使用for-in语句遍历stride:

for i in stride(from: 0, through: 10, by: 2) {
    print(i)
}
// 输出: 0, 2, 4, 6, 8, 10

也可以倒序:

for i in stride(from: 10, through: 0, by: -2) {
    print(i)
}
// 输出: 10, 8, 6, 4, 2, 0

注意事项

1)步长不能为 0:

设置 by: 0 会导致运行时崩溃。

2)步长的正负:

by 为正数时,from 必须小于 to/through。

by 为负数时,from 必须大于 to/through。

总结

最后关于stride的知识,可以总结为from开始,through是穿过终点,to是到达终点。所以from-througn会显示终点,而to的跨度比through低,所以from-to不会显示终点。最后按照by的跨度生成对应的序列。

From起点,through/to是终点,by是跨度。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注