次のように定義されたextractという名前の関数を作成しました。
def extract(params: String): Seq[String] = {
val result = params.split(",") map (param => param.trim())
result toSeq
}
次に、次のように、抽出結果に対してパターン マッチングを実行します。
extract(myInputString) match {
case Nil => // do something
case head :: Nil => // do something
case head :: tail => // do something
}
パターンがcase Nil =>ブランチに一致するたびに、
scala.MatchError: WrappedArray(T) (of class scala.collection.mutable.WrappedArray$ofRef)
一方、抽出関数で結果 toSeqをSeq(result:_*)に置き換えると、すべて正常に動作します。
誰でもこの動作を説明できますか?