Scalaの連続パラメータ
C#での可変長引数は
void Function(params string[] args) { // }
と書く。
対してScalaでは
def function(args: String*) = { // }
と記述する。
呼び出しかたは同じ。
function(“a”, “b”, “c”)
とする。
ただし、C#はの場合は以下のように配列を渡せる
Function(new string[] { “a”, “b” });
が、Scalaではそれはできない。型としてはString*はArray[String]となっているのだができない。
しかし、配列を直接渡す方法も提供している。
val arr = Array(“a”, “b”) function(arr: _*)
これは配列を直接渡すのではなく、arrの個々の要素を引数として渡すように指示している。