subscript 확장
extension을 사용하여 기존의 타입에 새로운 서브스크립트를 추가할 수 있다. 예를 들어, 123456789[0]을 입력하면
123456789 중에서 오른쪽부터 0번째 있는 숫자를 리턴하라는 형태로 기능을 추가할 수 있다.
예
extension Int {subscript(var digitIndex: Int) -> Int {var decimalBase = 1while digitIndex > 0 {decimalBase *= 10--digitIndex}return (self / decimalBase) % 10}}746381295[0]// returns 5746381295[1]// returns 9746381295[2]// returns 2746381295[8]// returns 7746381295[9]// returns 0, as if you had requested:0746381295[9]
int형일 경우 요청된 인덱스만큼 충분한 숫자가 없을 경우 746381295[9]처럼 0을 리턴한다. 이경우는 다음과 같다.
0746381295[9]
'Smart Device > Swift' 카테고리의 다른 글
| Swift extension #6 Nested Types (0) | 2015.06.25 |
|---|---|
| Swift extension #4 Mutating Instance Methods (0) | 2015.06.25 |
| Swift extension #3 Method의 확장 (0) | 2015.06.25 |
| Swift extension #2 Initializers의 확장 (0) | 2015.06.25 |
| Swift extension #1 기존 자료형의 확장 (0) | 2015.06.25 |