Array의 replaceSubrange(_: with: )
•
지정된 컬렉션의 요소로 특정 범위의 요소를 바꿔주는 메서드
•
Array 타입에서 특정 범위의 요소들을 다른 요소들로 대체하는데 사용된다.
정의
mutating func replaceSubrange<C>(
_ subrange: Range<Int>,
with newElements: C
) where Element == C.Element, C: Collection
Swift
복사
파라미터
•
subrange
◦
대체할 배열의 부분 범위
◦
Range<Int> 타입을 사용
•
newElements
◦
배열의 해당 범위를 대체할 새로운 요소들
◦
Collection 타입이어야 하며, 배열의 요소 타입(Element)과 동일해야한다.
반환값
•
반환값 없음, 배열을 직접 변경(mutate) 한다.
예시)
var numbers = [1, 2, 3, 4, 5]
numbers.replaceSubrange(1...3, with: [6, 7])
print(numbers) // [1, 6, 7, 5]
Swift
복사
•
numbers의 인덱스 1에서 3까지의 요소 [2, 3, 4]가 [6, 7]로 대체
주의사항
•
범위유효성
◦
subrange로 지정된 범위는 배열의 유효한 인덱스 범위 내에 있어야 한다.
◦
그렇지 않으면 런타임 에러 발생
•
배열 크기 변화
◦
newElement의 요소 수가 subrange의 요소 수와 다를 수 있다.
◦
새로운 요소 수가 더 많으면 배열이 커지고, 적으면 배열이 작아진다.
전체 요약
•
replaceSubrange(_: with:) 메서드는 배열의 특정 범위의 요소를 다른 요소들로 대체하는 기능을 한다.
•
지정된 범위의 요소들을 새로운 컬렉션의 요소들로 대체하며, 배열의 크기를 조정할 수 있다.
•
사용 시, 지정된 범위가 유효한지 확인하는 것이 중요하다.