Scala:无法解决模式匹配中案例类的方法错误
为了学习,我尝试在scala中重新实现一些,但没有。我在scala工作区中执行以下所有代码Scala:无法解决模式匹配中案例类的方法错误,scala,Scala,为了学习,我尝试在scala中重新实现一些,但没有。我在scala工作区中执行以下所有代码 case class Some[+A](get: A) extends Option[A] case object None extends Option[Nothing] trait Option[+A] { def map[B](f: A => B): Option[B] = this match { case None => None case Some(a) =&
case class Some[+A](get: A) extends Option[A]
case object None extends Option[Nothing]
trait Option[+A] {
def map[B](f: A => B): Option[B] = this match {
case None => None
case Some(a) => Some(f(a)) // error here
}
}
我遇到以下错误:
无法取消应用解析方法名称
我不明白。因为这种错误通常只发生在普通类中。请告诉我为什么我会遇到这个错误。我想解释器只是被弄糊涂了,因为它在幕后导入了以下内容: 斯卡拉_ java.lang_ scala.Predef_ 其中包括选项类及其子类型(部分和无)。我刚刚重新命名了您的类,一切正常: 特征可选[+A]{ def映射[B]f:A=>B:Optional[B]=此匹配{ 缺席案例=>缺席案例 案例Presenta=>Presentfa } } 案例类存在[+A]获取:A扩展可选[A] case对象缺席扩展可选[无] Present3.map*2//Present6
我猜解释器只是感到困惑,因为它在幕后导入了以下内容: 斯卡拉_ java.lang_ scala.Predef_ 其中包括选项类及其子类型(部分和无)。我刚刚重新命名了您的类,一切正常: 特征可选[+A]{ def映射[B]f:A=>B:Optional[B]=此匹配{ 缺席案例=>缺席案例 案例Presenta=>Presentfa } } 案例类存在[+A]获取:A扩展可选[A] case对象缺席扩展可选[无] Present3.map*2//Present6
在REPL中工作得非常好。在REPL中工作得非常好。