我写了一个名为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:_*),则一切正常。
谁能解释一下这种行为?