gre*_*man 5 arguments scala parameter-passing
考虑这样的方法:
def clearlnOut(coll : Any*)
{
clearOut(coll:_*,"\n") // error
}
def clearOut(coll : Any*)
{
...
Run Code Online (Sandbox Code Playgroud)
编译器说:
错误:此处不允许使用`:_*'注释(此类注释仅允许在*参数的参数中使用)
现在我很困惑.很明显使用可变参数,如何正确传递这种增强的"集合"?
试试这个:
def clearlnOut(coll : Any*) {
clearOut(coll ++ "\n")
}
Run Code Online (Sandbox Code Playgroud)
更新:@Rex Kerr建议的更好的版本(见下面的评论):
def clearlnOut(coll : Any*) {
clearOut((coll :+ "\n"): _*)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |