Tôi mới sử dụng Scala và đã cố gắng sử dụng thư viện trình phân tích cú pháp tuyệt vời của nó. Tôi đã cố gắng để có được mã này để biên dịch:Kết hợp mẫu trên phân tích cú pháp thành công tại 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)
}
...
Nhưng tôi tiếp tục nhận được các lỗi này: rất nhiều
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)
Tôi đã thử nhiều thứ khác nhau như:
case Parsers#Success(r, n) => println(r)
và
case Parsers.Success(r, n) => println(r)
và
import scala.util.parsing.combinator.Parsers.Success
Nhưng tôi dường như không thể thực hiện việc này để biên dịch. Tôi chắc chắn rằng có lẽ một cái gì đó rõ ràng tôi đang mất tích, nhưng tôi đã ở đó một lúc, và google dường như không có bất kỳ ví dụ tốt về điều này.
Cảm ơn!
Ah tôi thấy bây giờ. Thành công/Thất bại/Lỗi sẽ là thành viên của thể hiện của Phân tích cú pháp. Cảm ơn! –