1. Subscript
- 서브스크립트는 컬렉션 같은 집합의 특정 요소에 접근하는 문법을 의미합니다.
- 서브스크립트를 이용해 값에 접근하거나 값을 할당할 수 있습니다.
- 파라미터 수와 형식에는 제한이 없습니다. 대부분 두 개 이하의 파라미터를 사용합니다.
- 입출력 파라미터, 파라미터 기본값을 지정할 수 없습니다.
- 파라미터는 생략이 불가능합니다.
class List {
var data = [1, 2, 3]
subscript(index: Int) -> Int {
get {
return data[index]
}
set {
data[index] = newValue
}
}
}
var l = List()
l[0]
l[1] = 123
l[0, 1]
l["A"]
struct Matrix {
var data = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
subscript(row: Int, col: Int) -> Int {
return data[row][col]
}
}
let m = Matrix()
m[0, 0]