ぜのぜ

しりとりしようぜのぜのぜのぜ

22日目 Variadic Parametersというやつ

日記

今日はやけに眠い.

今日書いたコード

昨日から関数の章に入っている

import Foundation

func some(hoge hoge: String, hoge fuga: String) {
    print(hoge, fuga)
}

some(hoge: "hoge", hoge: "fuga") // => hoge fuga

func geometricMean(_ data: Float...) -> Float {
    var sum: Float = 1
    for datum in data {
        sum *= datum
    }
    return pow(sum, 1 / Float(data.count))
}

print(geometricMean(2, 8)) // => 4.0

初めて知ったこと

Variadic Parametersというやつ.これはある型の任意の数のパラメータを取れるやつで,関数の中からは配列として扱える(func some(p: T...)ならpの型は[T]).print(_ item: Any...)で使われている.任意の数のViewを追加するときに使えるかと思ったがそれなら配列でいいよなぁ.複数の変数に値を持っているが配列を作るのはめんどくさいときに使えそう?

ちなみにRubyのパラメータはめちゃくちゃバリエーションがある.書いてた頃は特に詰まった覚えはないので多分うまく作ってあるんだと思う.