[swift] 59. stride

RudinP·2023년 10월 22일
0

Study

목록 보기
85/227

stride

범위 안에서 반복처리 가능

  1. stride(from:,to:,by:)
  • from: 시작 수
  • to: 도달 지점(포함 x)
  • by: 스텝
for countdown in stride(from: 10, to: 0, by: -1){
	print(countdown)
}
// 10 9 8 7 6 5 4 3 2 1
  1. stride(from:,through:,by:)
  • from: 시작 수
  • through: 도달 지점(포함 o)
  • by: 스텝
for countdown in stride(from: 10, through: 0, by: -1){
	print(countdown)
}
// 10 9 8 7 6 5 4 3 2 1 0

활용

  • 배열 chunksize 단위로 자르기
extension Array{
	func chunks(_ chunkSize: Int) -> [[Element]]{
    	stride(from: 0, to: self.count, by: chunkSize).map{
        	Array(self[$0..<Swift.min($0 + chunkSize, self.count) 
            // $0 + chunkSize와 배열 자체 크기 중 작은 쪽까지(index 넘기 방지)
        }
    }
}
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글