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

时间:2011-12-01 21:36:35

标签: scala arguments parameter-passing

考虑以下方法:

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

编译器说:

  

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

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

1 个答案:

答案 0 :(得分:6)

试试这个:

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

<击>

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

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