今回は謎のアンダーバーについてです。
Contents
_アンダーバーの正体
あのアンダーバーの正体は『外部引数名を省力している状態』です。
外部引数名
一般的な関数の記述は
このように引数を指定します。
func play(a: String) { print(a) } play(a: "トントン")
外部引数名を足すと、
このように関数内では『a』を使い、
関数を呼び出す際は『b』を用いて引数を指定することができます。
func play(b a: String) { print(a) } play(b: "トントン")
この外部引数を省略した状態が、_(アンダーバー)です。
あれ?
それって一番最初の状態と同じじゃないの?違うの?
と思われるかもしれませんが、やや違います。
例も見ると一目瞭然です。
func play(_ a: String) { print(a) } play("トントン")
この通り!
関数を呼び出す際に引数名を書く必要がなくなるんです!
なんかおしゃれですよね?ね?
これをつなげることもできます。
func play(_ a: String, _ b: String) { print(a + b) } play("トントン", "ぺけぺけ")
関数の引数の指定方法はカンマ『,』で区切ればオーケーです!
Swift3になってから、
このように外部引数名を省略している状態の関数を見ることが非常に多いので、
これがわかっているとコードも読みやすくなりますよ!
ABOUT ME