一个简单的例子
def max(values: Int*) = values.foldLeft(values(0)) { Math.max }
参数是多个Int类型参数列,它可以操作
println(max(2, 5, 3, 7, 1, 6))
如果是这样
val numbers = Array(2, 5, 3, 7, 1, 6)
就会出错
现在我们会用到一个知识点就是数组的分元操作
println(max(numbers: _*))
解析:
If we want to use the values in an array as variable arguments, we can
explode the array into discrete values—use the series of symbols : _* for
this purpose: