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(_,_) => 否则你将不得不处理删除警告. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |