기본 문법 공부(확장(expansion) - 제네릭 서브스크립트(Generic Subscripts))
이 포스트는 야곰님의 Swift 프로그래밍 2판을 보고 공부한 내용을 정리한 포스트 입니다.
예제 코드
참고 자료
제네릭 서브스크립트(Generic Subscripts)
-
제네릭 함수(메서드)를 구현할 수 있었던 것처럼 서브스크립트도 제네릭을 활용하여 타입에 큰 제한 없이 유연하게 구현할 수 있다.
-
물론 타입 제약을 사용하여 제네릭을 활용하는 타입에 제약을 줄 수도 있다.
-
위의 코드에서 Stack 구조체의 익스텐션으로 서브스크립트를 추가했다.
-
서브스크립트는 Indices라는 플레이스홀더를 사용하여 매개변수를 제네릭하게 받아들일 수 있다.
-
Indices는 Sequence 프로토콜을 준수하는 타입으로 제약이 추가되어 있다.
-
또, Indices 타입 Iterator의 타입이 Int 타입이어야 하는 제약이 추가되었다.
-
서브스크립트는 이 Indices 타입의 indices라는 매개변수로 인덱스 값을 받을 수 있다.
-
그 결과 indices 시퀀스의 인덱스 값에 해당하는 스택 요소의 값을 배열로 반환한다.
-
-