Link
Notice
HIT해
[Swift 기초문법 - 54] stride 본문
728x90
stride란?
범위안에서 반복하는 것
stride to
from에서 to가 되기 전까지!
// 범위안에서 반복처리
for countdown in stride(from: 5, to: 0, by: -1){
print("카운트 다운 ", countdown)
}
결과
카운트 다운 5
카운트 다운 4
카운트 다운 3
카운트 다운 2
카운트 다운 1
to가 0이기에 0이전인 1까지만 반복된다.
stride through
from에서 through까지!
for countdown in stride(from: 5, through: 0, by: -1){
print("카운트 다운 ", countdown)
}
실행결과
카운트 다운 5
카운트 다운 4
카운트 다운 3
카운트 다운 2
카운트 다운 1
카운트 다운 0
stride를 활용해서 1차원 배열을 2차원 배열로 만들어보자
extension Array {
func chunks(_ chunkSize: Int) -> [[Element]] {
return stride(from: 0, to: self.count, by: chunkSize).map{
return Array(self[$0..<Swift.min($0 + chunkSize, self.count)])
// 자리가 부족한 건 자신의 수만큼 배열의 크기로 정한다.
}
}
}
let numbers = Array(1...10)
let chunkedArray = numbers.chunks(2)
실행결과
2개씩 나누어져서 만들어진 것을 볼 수 있다.
정리하자면
stride를 활용하면 여러가지 함수를 만들어낼 수 있을 것 같다
'Swift > 기초문법' 카테고리의 다른 글
[Swift 기초문법 - 56] Set 내장함수 (0) | 2024.08.19 |
---|---|
[Swift 기초문법 - 55] Dictionary 반복 (0) | 2024.08.19 |
[Swift 기초문법 - 53] Subset Superset (0) | 2024.08.19 |
[Swift 기초문법 - 52] Optional Protocol (0) | 2024.08.19 |
[Swift 기초문법 - 51] 중첩 타입 Nested Type (0) | 2024.08.19 |