흔히 사용하는 for문의 형식은
for i in 0...5 {
print(i)
}
// 0 1 2 3 4 5 (개행 생략)
이렇게 되어진다.
하지만 i의 값을 1씩 말고 원하는 만큼 증가시키는 방법은 없을까?
바로 stride() 함수를 사용해서 해결할 수 있다.
func stride<T>(from start: T, to end: T, by stride: T.Stride) -> StrideTo<T> where T : Strideable
for i in stride(from: 0, to: 10, by: 2) {
print(i)
}
// 0 2 4 6 8 (개행 생략)
from인 0부터 to인 10전까지 by(2)씩 i값이 증가하게 된다.
여기서 to 대신 through를 사용하면 10까지 포함시킬 수 있다.
func stride<T>(from start: T, to end: T, by stride: T.Stride) -> StrideTo<T> where T : Strideable
for i in stride(from: 0, through: 10, by: 2) {
print(i)
}
// 0 2 4 6 8 10 (개행 생략)