加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Class X采用类型参数

发布时间:2020-12-16 18:58:38 所属栏目:安全 来源:网络整理
导读:通过这篇内容丰富,写得很好的文章阅读 Parser Combinators,我看到了这段代码: class DisParser[+A](left: Parser[A],right: Parser[A]) extends Parser[A] { def apply(s: Stream[Character]) = left(s) match { case res: Success = res case _: Failure =
通过这篇内容丰富,写得很好的文章阅读 Parser Combinators,我看到了这段代码:

class DisParser[+A](left: Parser[A],right: Parser[A]) extends Parser[A] {
  def apply(s: Stream[Character]) = left(s) match {
    case res: Success => res
    case _: Failure => right(s)
  }
}

当我尝试编译此代码时,我得到:

Parser.scala:19: error: class Success takes type parameters
    case res: Success => res
              ^
one error found

鉴于Parser的签名:

case class Success[+A](value: A,rem: Stream[Character]) extends Result[A]

如何更改案例res:Success => res line给Success一个合适的类型参数?

解决方法

你使用哪种成功?这个(来自Parsers包的 Success)或者这个(来自util的 Success)?两者都采用类型参数,所以你需要把它作为

res @ Success(_,_) =>

否则你将不得不处理删除警告.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读