6
我是新來的Scala,並且一直在嘗試使用它出色的combinator解析器庫。我一直試圖讓這個代碼編譯:解析器模式匹配在斯卡拉成功
import scala.util.parsing.combinator._
...
val r:Parsers#ParseResult[Node] = parser.parseAll(parser.suite,reader)
r match {
case Success(r, n) => println(r)
case Failure(msg, n) => println(msg)
case Error(msg, n) => println(msg)
}
...
但我不斷收到這些錯誤:
TowelParser.scala:97: error: not found: value Success
case Success(r, n) => println(r)
^
TowelParser.scala:98: error: not found: value Failure
case Failure(msg, n) => println(msg)
TowelParser.scala:99: error: object Error is not a case class constructor, nor does it have an unapply/unapplySeq method
case Error(msg, n) => println(msg)
我已經嘗試了很多不同的東西,如:
case Parsers#Success(r, n) => println(r)
和
case Parsers.Success(r, n) => println(r)
和
import scala.util.parsing.combinator.Parsers.Success
但我似乎無法得到這個編譯。我確定可能有些明顯的我錯過了,但我已經看了一段時間了,谷歌似乎沒有任何好的例子。
謝謝!
啊我現在看到了。成功/失敗/錯誤將成爲解析器實例的成員。謝謝! –