プログラミングを始める。 -関数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ではリスト)の値の個数を気にせずに関数を組むことができます。