Генерация последовательностей
Протокол Strideable, реализуемый основными числовыми типами, позволяет легко и быстро создавать ограниченные числовые последовательности по принципу арифметической прогрессии.
Метод stride принимает на вход граничное значение последовательности и шаг. А вариант его вызова с to или through определяет вхождение самой границы (если на ней останавливается расчет) в конечный результат (to — не войдет, through — войдет).
import Foundation
for i in 1.stride(to: 25, by: 3) {
// 1, 4, 7, 10, 13, 16, 19, 22
// 25 excluded
}
for j in 1.stride(through: 25, by: 3) {
// 1, 4, 7, 10, 13, 16, 19, 22, 25
// 25 included
}
for k in 6.stride(through: 1, by: -2) {
// 6, 4, 2
}