模式匹配列表上没有隐式排序

时间:2016-08-04 18:41:54

标签: scala

在Scala 2.11.8上:

 private def safeMax[A](xs: List[A])
                       (implicit ev: Ordering[A]): Option[A] = xs match {
    case ys@(_ :: _) => Some(ys.min)
    case Nil         => None
  }

// Exiting paste mode, now interpreting.

<console>:12: error: No implicit Ordering defined for ?A1.
           case ys@(_ :: _) => Some(ys.min)
                                       ^

由于ys的类型为List[A],据我所知,为什么会发生这种编译时错误?

请注意,我可以通过将ys.min替换为xs.min来解决此问题,但我还是很好奇。

0 个答案:

没有答案