Sono nuovo in Scala e ho cercato di utilizzare la sua eccellente libreria di parser combinatori. Ho cercato di ottenere questo codice per compilare:Corrispondenza dei pattern su Parsers Success In Scala
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)
}
...
Ma continuo a ricevere questi errori: un sacco
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)
che ho provato di cose diverse, come:
case Parsers#Success(r, n) => println(r)
e
case Parsers.Success(r, n) => println(r)
e
import scala.util.parsing.combinator.Parsers.Success
Ma non riesco a ottenere questo da compilare. Sono sicuro che probabilmente c'è qualcosa di ovvio che mi manca, ma ci sono stato per un po ', e Google non sembra avere buoni esempi di questo.
Grazie!
Ah, ora vedo. Success/Failure/Error diventerà membro dell'istanza di Parser. Grazie! –