天天看点

Scala可变长度参数可变长度参数

scala 允许你指明函数的最后一个参数可以是重复的。这可以允许客户向函数传入可变长度参数列表。想要标注一个重复参数,在参数的类型之后放一个星号。例如:

这样定义, echo 可以被零个至多个 string 参数调用:

函数内部,重复参数的类型是声明参数类型的数组。因此, echo 函数里被声明为类型<code>“ string* ”</code>

的 args 的类型实际上是 <code>array[string]</code> 。然而,如果你有一个合适类型的数组,并尝试把它当作

重复参数传入,你会得到一个编译器错误:

要实现这个做法,你需要在数组参数后添加一个冒号和一个 <code>_*</code> 符号,像这样:

这个标注告诉编译器把 arr 的每个元素当作参数,而不是当作单一的参数传给 echo 。

继续阅读