by shigemk2

当面は技術的なことしか書かない

repeated parametersについて

可変長引数とも呼ばれる varargsとも。

これはおーけー。可変長引数を利用したメソッド。

def f1(args: Int*): String = args.toString
println(f1(Seq(1,2,3): _*))

これはだめ。可変長引数じゃないメソッド。

def f2(x: Int, y: Int): String = x.toString + y.toString 
println(f2(Seq(1,2): _*)) // not enough arguments for method f2

というのも、_*を利用してSeqとかArrayとかを引数として利用出来るのは可変長引数(repeated parameters)を利用したメソッドだけで、普通のメソッドには使えないから。