SubScript
Swiftでよく見るsubscriptとはいったいなんだろう?と思ったので調べてみた。
Subscriptは定数やEnum,クラス、構造体などにアクセスすると 配列で辞書型でデータを取得したようにデータを隠すために使用される。
日本語で言うと添字になる。配列の要素にそれぞれ割り振られた番号のこと。
例コード
class Fish {
var fishNames = [String]()
init() {
fishNames = []
}
subscript(index: Int) -> String {
get {
return fishNames[index]
}
set(name) {
fishNames.insert(name, atIndex: index)
}
}
}
要は、getterとsetterの仕組みになっている。開発者が添字にアクセスすることでsubscriptの引数にその数字が入る。
辞書型でも使えるのでInt型ではなくString型でも大丈夫。
class Fish {
subscript( s : String ) -> String {
return "美味しい, \(s)!"
}
}
var f = Fish()
print( f[ "🐠" ] )美味しい🐠