読み進めていく本↓
前回⇒「【Swift奮闘記ep6】関数前半戦(引数、戻り値、外部引数)に突入!」
関数もあと一息、頑張ろう!
引数名の省略
省略したい引数の前に_(アンダースコア)を入れればいいみたいだ。
どうでもいいけどアンダー”バー”じゃないんだな。
func ryaku( _ name: String, _ name1: String) -> String {
return “\(name)さんと\(name1)さんは初対面です“
}
ryaku(“taro”,“jiro”)
“taroさんとjiroさんは初対面です”
てな感じにアンダーバーを使うと関数の指示を出すときにnameとname1の引数が不必要になる、ということだ。
引数のデフォルト値
引数に何も指定しなかったら、デフォルト値を代入しますよって話だね。
func sayHi(name: String = “taro”) -> String {
return “こんにちは、\(name)さん。“
}
sayHi(name: “kojiro”)
sayHi()
“こんにちは、kojiroさん。”
“こんにちは、taroさん。”
2つめは引数がなかったからデフォルト値のtaroが代入された。
スコープ
範囲のことをスコープという。
例えば関数の{と}の間の範囲のこととか。
スコープないで定義した変数や定数は、同一スコープ内以外では使えないので注意、とのこと。
※子要素のスコープは親要素のスコープの変数・定数を使うことは可能。
→関数{ if(~~~)}とかだったら関数内に出てきた変数・定数はifの中でも自由に使うことができるということ。
関数名の決まりごと
原則、定数・変数同様、関数も同じ名前はエラーが出るんだけど、関数の場合、引数が異なる場合は違う関数とされるため、同じ関数名でも定義できる。
sayHello( ) {
print(“こんにちは”)
}
と
sayHello( name: String) {
print(“こんにちは、\(name)さん”)
}
は別の関数と認識される、ということ。
今日はここまで。
コメント