Subscripts
昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Subscripts.html を読む。
- クラス、構造体、列挙型は
subscript
を定義できる subscript(index: Int) -> String { get{ return …} set(newValue){〜} }
set
のデフォルトパラメータ名はnewValue
subscript(index: Int) -> String { return …}
読み取り専用- 配列[index] 辞書[key] のようにアクセスできる
- 一つの型に複数
subscript
を定義できる(オーバーロード) - 添字形式
[]
を使っている文脈で型推論されて適切なやつが選ばれる- 曖昧なときはコンパイルエラー
- 入力パラメータの数はいくつでも。パラメータの型は何でも
- 返り値の型はなんでも
- パラメータは可変引数にできる
inout
パラメータは使えない。デフォルトパラメータ値はできない