我知道可以将单个参数传递给 vararg 函数,并且可以使用 :_*
传递 seq但是有可能同时通过吗?
例如:
scala> object X { def y(s: String*) = println(s) }
defined module X
scala> X.y("a", "b", "c")
WrappedArray(a, b, c)
scala> X.y(Seq("a", "b", "c"):_*)
List(a, b, c)
scala> X.y("a", Seq("b", "c"):_*)
<console>:9: error: no `: _*' annotation allowed here
(such annotations are only allowed in arguments to *-parameters)
X.y("a", Seq("b", "c"):_*)
^
编辑:在 Scala 2.10 中(以防万一)
最佳答案
Hacky 但这应该很好用:
X.y(Seq("a") ++ Seq("b", "c"):_*)
关于scala - 将单个参数和 Seq 传递给 var-arg 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502924/