为什么这段代码会生成scala匹配异常

时间:2019-04-17 15:29:17

标签: scala

我正在尝试将两个并行的字符串数组进行比较。保证每个数组的长度相同。每个数组中的对应字符串的缩进方式可能不同,因此在比较它们时会进行修剪。我编写了以下函数进行比较,并且在运行代码时遇到匹配错误:

def compare(expected: Seq[String], actual: Seq[String]): Boolean = (expected, actual) match {
    case (Nil, _) => true
    case (a :: _, b :: _) if (a.trim != b.trim) => false
    case (_ :: a, _ :: b) => compare(a, b)
}

我在这里想念什么?据我所知,这应该涵盖所有情况。

实际例外:

 scala.MatchError: (WrappedArray(ExpectedString), WrappedArray(ActualString)) (of class scala.Tuple2)

0 个答案:

没有答案