見出し画像

プログラミングを始める。 -関数4 (可変長引数)

Swiftは任意の個数の引数を取ることが可能な、いわゆる可変長引数を設定することが可能です。

例えば、平均を計算させる関数があります。

func average(_ numbers:Double...)->Double{
   var total:Double = 0
   for number in numbers{
       total += number
   }
   return total/Double(numbers.count)
}

引数があり、型名が"Double..."となっています。

(_ numbers:Double...)

この"..."をつけることでいわゆる"可変長引数"が使えるようになります。以下のように実行してみると、

average(1,3,5,10)

"4.75"という答えが帰ってきます。


Pythonではどうするかというと、引数に" * "アスタリスクを付ければ良lくて、慣習的に引数として"*args"として使うことが多いようです。

def average(*args):
   total = 0
   for val in args:
       total += val
   return total/len(args)

実行します。

print(average(1,3,5,10))

"4.75"という答えが出力されます。


これを使うと長さ、配列(Pythonではリスト)の値の個数を気にせずに関数を組むことができます。

いいなと思ったら応援しよう!