22. Subscript
*定義
-サブスクリプトは、集合などの集合内の特定の要素にアクセスする構文を意味します.サブスクリプトを使用して値または割当て値にアクセスしたり、直接実装したりできます.
まずクラスを作成します
class List {
var data = [1, 2, 3]
subscript(index: Int) -> Int {
get {
return data[index]
}
set {
data[index] = newValue
}
}
}
*現在実装されているサブスクリプトの形式から見ると、なぜかメソッドにも計算プログラムにも似ています. subscript(index: Int) -> Int {
get {
return data[index]
}
set {
data[index] = newValue
}
}
*形態に示すように,実際には類似の方法やプログラム機能を計算するところが多い.1.まず、メソッドと同様の部分はパラメータと戻り型である.可変パラメータも使用できます.ただし、I/Oパラメータやデフォルト値を持つパラメータは使用できません.しかも回復型を宣言しなければならない.
2.計算プログラムと同様の部分は、ターゲットブロック、グループブロックを通じて値を読み取り、書き込むことができる.サブスクリプトを使用して値を格納すると、パラメータを使用して3つのブロックに値が渡されます.パラメータ名を省略すると、newValueという定数が自動的に与えられます.この点も計算プログラムに似ています.
var l = List()
l[0]
*このようにインスタンスを作成してサブスクリプトを使用すると、getブロックが実行され、最初の要素が返されます.l[1] = 123
*このように新しい値を保存すると、setブロックが実行され、2番目の要素が更新されます.ただし、サブスクリプトを使用する場合は、パラメータのフォーマットと一致する必要があります.一致しないか範囲を超えた場合、エラーが発生します.1[0,1] // error
1[6] // error
Reference
この問題について(22. Subscript), 我々は、より多くの情報をここで見つけました https://velog.io/@cavok/22.-Subscriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol