【发布时间】:2021-03-12 19:44:43
【问题描述】:
我最近遇到了一个 scala 模式匹配,看起来或多或少是这样的:
def func (li :List[Int]): List[Int] = li match {
case Nil => Nil
case start :+ tail => start
case List() => li
}
现在,这三种不同的情况返回的结果并不是我感兴趣的。
我想知道这样的模式匹配是否会产生任何影响?是否有任何案例,可以达到第三个案例?
我最初的想法是否定的,因为所有超过 0 个元素的列表总是会在第一种情况下匹配,因此永远无法达到第二种情况
【问题讨论】:
-
两三个案例?无论如何,是的,第三种情况是多余的,它与第一种相同。