如何在Scala中添加另一个参数时传递可变参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Scala中添加另一个参数时传递可变参数?相关的知识,希望对你有一定的参考价值。

考虑以下方法:

def clearlnOut(coll : Any*)
{
  clearOut(coll:_*,"\n") // error
}
def clearOut(coll : Any*)
{
  ...

编译器说:

错误:此处不允许使用`:_ *'注释(此类注释仅允许在*参数的参数中使用)

现在我很困惑。很明显使用可变参数,如何正确传递这种增强的“集合”?

答案

试试这个:

def clearlnOut(coll : Any*) {
  clearOut(coll ++ "\n")
}

更新:@Rex Kerr建议的更好的版本(见下面的评论):

def clearlnOut(coll : Any*) {
  clearOut((coll :+ "\n"): _*)
}

以上是关于如何在Scala中添加另一个参数时传递可变参数?的主要内容,如果未能解决你的问题,请参考以下文章