関数があるとします
def f(a:Int = 0, b:String = "", c:Float=0.0, foos: Foo*) { ... }
一部のパラメータでデフォルト引数が使用されていることに注意してください。通常、デフォルト値を使用するには、次のように名前付きパラメーターを使用して関数を呼び出します。
val foo = Foo("Foo!")
f(foos = foo)
この構文は、メソッドを 1 つだけ呼び出してfoo
いるため機能します。ただし、2つ以上ある場合
val foo1 = Foo("Foo!")
val foo2 = Foo("Bar!")
f(foos = ...)
ここで何を供給すべきかはそれほど明白ではありません。Seq(foo1,foo2)
チェックをSeq(foo1,foo2):_*
入力しないでください。
さらに、どうすればsなし foo
で呼び出すことができますか?
// All out of foos!
f(foos = ...)
この場合、空の括弧 ( f()
) を使用して関数を呼び出しても機能しません。
ありがとう!