公開中のアプリ

[Swift入門#15]引数を使ってみよう。

今回は引数について書きたいと思います。
関数を実行する時に、ちょっとだけ結果を変えたい時に使えるのが引数です。

引数を書いてみよう。

下記コードのような関数を用意しました。

func myName() {
    print("僕の名前は????です。")
}
myName() // 結果 僕の名前は????です。

この関数の結果として出力されている「僕の名前は????です。」の?の部分だけ結果を変えて表示させたい時に引数を使うと一つの関数で解決できます。
では引数を使った例を見てみましょう。

func myName(name: String) {
    print("僕の名前は\(name)です。")
}
myName(name: "まゆげじお")// 結果 僕の名前はまゆげじおです。
myName(name: "Fu-chan")// 結果 僕の名前はFu-chanです。
myName(name: "D-matsuo")// 結果 僕の名前はD-matsuoです。

このように書くと事で関数myName一つで、色んな結果を表示させる事ができます。
まずは1行目ですが、関数myNameの()の中に、引数nameを用意しています。
:の後に引数nameに入るデータ型(今回は文字列なので String)を指定しています。
2行目は実行したい処理を書いています。
\(name)には、1行目で書いた引数nameの値が入ります。

呼び出す時は、4行目〜6行目のように書けばOKです!

処理の流れを説明しますね。
4行目を例にすると、まず4行目が読まれたら、関数myNameが実行されます。次に引数nameの中に「まゆげじお」が代入されます。
最後にprint()が実行される。

引数と戻り値を組み合わせてみよう。

では、引数と戻り値を使って簡単な計算をしてみたいと思います。

func gesyu(nenpou: Double) -> Double {
    return nenpou / 12
}
print("有ビッシュの月収は\(gesyu(nenpou: 23.6))億円です。")
// 結果 有ビッシュの月収は1.9666666666666668億円です。

ある野球選手の年俸を12で割って月収を求める関数です。
まず1行目ですね。
関数gesyuの中に引数nenpouを用意してデータ型は小数点も使いたいのでDoubleとし、戻り値もDoubleとします。(戻り値についてはこちら

2行目の処理の中で引数nenpouを12で割って、関数gesyuに戻しています。

4行目のprint()で関数gesyuを呼び出して、引数nenpouには23.6を代入しています。
計算された結果がprint()の関数gesyuに戻されます。

こうなってくるとちょっとややこしく感じませんか?
僕は最初、全然わかりませんでした( ̄▽ ̄)

できる限りわかりやすく説明してみます。

今回の例では、4行目でprint()さんが関数gesyu君を呼びました。

print()さん『gesyu君!計算お願いしても良いかな〜?』
gesyu君『いいよ〜!引数の値は何〜?』
print()さん『23.6だよ〜』
gesyu君『了解〜!23.6➗12の結果は1.9666666666666668だよ〜!』
print()さん『ありがとう!使わせてもらうね〜!』

っと、こんな感じの流れです!
理解できたと思います。

引数のラベルと引数の初期値。

おまけと言ってはなんですが、こんなのもあるので一応メモしておきます。

func myName(cat name: String) {
    print("僕の名前は\(name)です。")
}

myName(cat: "たま")// 結果 僕の名前はたまです。

引数にラベルを付けてその名前で呼び出す事ができます。
上記のコードだと、引数名はnameですが、ラベルにcatを付けています。
5行目の呼び出しの時には、catを使い呼び出しています。

用途としては引数名の用途を明確にする時などに使われるみたいです。
今回の場合は引数名のnameだけだと、人間なのか、動物なのか、わからないのでcatと言うラベルを付けて猫なんだなって言う事をよりわかりやすくしてみました。
と言いつつ、僕はまだ使った事ありません( ̄▽ ̄)

次に説明するラベルの省略は便利だと思います。

func myName(_ name: String) {
    print("僕の名前は\(name)です。")
}
myName("たま")// 結果 僕の名前はたまです。
myName("ポチ")// 結果 僕の名前はポチです。

ラベルの部分を_(アンダーバー)にする事で省略する事ができます。
なので呼び出す時に4行目、5行目のように引数名すら書かずに呼び出す事ができます。
これは使えそうですね!

次は引数に初期値を設定する方法です!

func myName(_ name: String = "コロ") {
    print("僕の名前は\(name)です。")
}
myName()// 結果 僕の名前はコロです。
myName("ポチ")// 結果 僕の名前はポチです。

引数のデータ型を宣言する時に
= 初期値
とするだけで初期値を設定する事ができます!
使う場面としては基本的には初期値の結果が欲しいけどたまに違う結果が欲しい時などに、初期値を設定しておくと4行目のように引数を書かなくても初期値で結果を出力してくれるので便利だと思います!

関数は引数と戻り値を駆使すれば、コードを簡潔に短く書く事ができます。
僕もまだそこまで使いこなせてはいませんが、プログラムを書く上では避けては通れなそうなので、マスターしたいと思っています。

今日はここまでにします。
ありがとうございました。

“[Swift入門#15]引数を使ってみよう。” への1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

アプリ