可変長引数

http://inforno.net/articles/2008/02/03/some-scala-tips-for-beginners

を見たけどよくわからなかったので。

def sum(n: int*):int = n.reduceLeft[int]((a, b) => a + b)

def sumPlus(p: int, n: int*) = p + sum(n : _*)
def sumPlus2(p: int, n: Array[int]) = p + sum(n : _*)
def sumPlus3(p: int, n: List[int]) = p + sum(n : _*)

sumPlus(1, 2, 3, 4) // result: 10
sumPlus2(1, Array(2, 3, 4)) // 結果: 10
sumPlus3(1, List(2, 3, 4))  // 結果: 10

『: _* 』で、ArrayやListを可変長引数に展開してくれるらしい。