说我有一个功能
def f(a:Int = 0, b:String = "", c:Float=0.0, foos: Foo*) { ... }
注意某些参数使用默认参数。通常,要使用默认值,您可以调用带有命名参数的函数,如下所示:
val foo = Foo("Foo!")
f(foos = foo)
此语法有效,因为我只使用一个调用该方法foo
。但是,如果我有两个或更多
val foo1 = Foo("Foo!")
val foo2 = Foo("Bar!")
f(foos = ...)
这里应该喂什么并不那么明显。Seq(foo1,foo2)
并且Seq(foo1,foo2):_*
不要键入检查。
更何况没有 foo
s怎么称呼呢?
// All out of foos!
f(foos = ...)
对于这种情况,使用空括号 ( f()
) 调用函数不起作用。
谢谢!