[Sy] Swift入門(3) 〜 予約語
2014/10/11
Swift のリファレンスまとめです。今回は 予約語 について。
リファレンスは以下。
⇒ The Swift Programming Language: Lexical Structure(これまでの記事)
予約語一覧
リファレンスに書いてある予約語を列挙してます。一応ひとこと説明も書いてますが、実際にコーディングしたわけじゃなく軽く調べただけなので、表現がおかしかったり足りなかったりするかもしれません。参考程度にどうぞ。
- class
クラスの宣言に使う。 - deinit
インスタンスが破棄されるタイミングで呼ばれるメソッド名。 - enum
列挙型の宣言に使う。 - extension
すでに定義されているクラス(class)や構造体(struct)にメソッドやプロパティなどを追加する際に使う。 - func
メソッド(関数)の宣言に使う。 - import
モジュールの読み込みの宣言に使う。 - init
インスタンス生成時にイニシャライザとして呼ばれるメソッド名。 - internal
同一モジュール内でのみ使用可能としたい場合に使うアクセス修飾子。 - let
定数の宣言に使う。 - operator
カスタム演算子を定義する際に使う。 - private
同一ファイル内でのみ使用可能としたい場合に使うアクセス修飾子。 - protocol
プロトコル(interfaceのような感じかな?)を定義する際に使う。 - public
同一モジュール内だけでなく、importすればどこでも使用可能とした場合に使うアクセス修飾子。 - static
静的メソッド、変数などを定義する時に使う。 - struct
構造体の宣言に使う。 - subscript
配列などで添字を与えて値を取得する際の挙動を自ら定義したい場合に使う。 - typealias
型のエイリアスを定義する際に使う。 - var
変数の宣言に使う。 - break
ループを抜ける時などに使う。 - case
switch文での分岐に使う。 - continue
ループ内で次に進む時に使う。 - default
switch文でどのcaseにも該当しない場合の処理を記述する際に使う。 - do
do-while文で使う。 - else
if文で使う。 - fallthrough
switch文で下のcaseの処理も実行したい場合に使う。 - for
for文で使う。 - if
if文で使う。 - in
配列などに対してfor文を回す時に使う。 - return
返り値を記述する際に使う。 - switch
switch文で使う。 - where
switch文のcaseのところで使うっぽい? - while
while文、do-while文で使う。 - as
型変換に使う。 - dynamicType
コンパイル時ではなく、実行時のインスタンスの型を見てメソッドとかを呼び出したい時に使う。 - false
真理値(偽)。 - is
型の判定に使う。 - nil
「何もない」という状態を表す。 - self
自分自身を指し示す。他の言語だとthisだったりするやつ。クラス内であればインスタンスだったり。 - Self
これはわからなかった。 - super
サブクラス(子)から見たスーパークラス(親)を表す時に使う。 - true
真理値(真)。 - __COLUMN__
実行中の列を保持するリテラル。 - __FILE__
実行中のファイル名を保持するリテラル。 - __FUNCTION__
実行中のメソッド名を保持するリテラル。 - __LINE__
実行中の行数を保持するリテラル。
以下、特定のコンテキスト内でのみ予約語扱いされるものです。(それ以外だと変数名に使ったりできる)
- associativity
中置演算子を独自に定義する際の結合規則を指定する場合に使う。 - convenience
他のイニシャライザを呼び出すイニシャライザの定義の際にinitと合わせて使う。 - dynamic
変数の宣言とかに使うっぽいけどよくわからず・・・Objective-Cが関係してそう。 - didSet
変数の値が変更された直後に実行したい処理を記述する際に使う。 - final
クラス、メソッド、変数などの定義の際に使い、サブクラス作成やオーバライドを禁止する。 - get
クラス内に定義した変数(プロパティ)のgetterを記述する際に使う。 - infix
中置演算子を独自に定義する際に使う。 - inout
メソッドの仮引数を指定する際に使い、参照渡しの引数とする。 - lazy
変数の定義の際に使い、必要になるまで計算をしない。 - left
associativityとセットで使うっぽい。左側と結合するってことなのか? - mutating
構造体内のメソッドに付けることで、プロパティの値を書き換えたりできるメソッドを作ることができる。 - none
associativityとセットで使うっぽい。よくわからず。 - nonmutating
構造体内のメソッドに付けることで、プロパティの値を書き換えられないメソッドを作ることができる。 - optional
プロトコルの宣言内のメソッド、変数に付けることでoptionalなメソッド、変数を定義することができる。 - override
サブクラスにてスーパークラスのメソッドをオーバーライドする際にメソッドの定義に付ける。 - postfix
後置演算子を独自に定義する際に使う。 - precedence
中置演算子を独自に定義する際の優先度を指定する場合に使う。 - prefix
前置演算子を独自に定義する際に使う。 - Protocol
わからず・・・ - required
プロトコルで定義されてるイニシャライザを実装する時に付ける必要がある。 - right
associativityとセットで使うっぽい。右側と結合するってことなのか? - set
クラス内に定義した変数(プロパティ)のsetterを記述する際に使う。 - Type
わからず・・・ - unowned
参照の強さを表すために使うっぽい。ARC関連? - weak
参照の強さを表すために使うっぽい。ARC関連? - willSet
変数の値が変更される直前に実行したい処理を記述する際に使う。
現時点ではまだなんとなくしかわからなかったものも多いので、とりあえずこんな予約語があるんだなと覚えておこうかと思います。
順次ちゃんとした使い方を理解できたら修正していきますー。