使用scala.util.parsing.combinator._
包,如何创建一个与Parser
匹配的简单abc
?
示例:
val parser = new Parser("abc")
val stream: Stream[Character] = Stream('a', 'b', 'c', 'd')
println("parser(stream) : " + parser(stream))`
打印出来:
成功(('a','b','c'),流('d'))
答案 0 :(得分:1)
琐碎:
object MyParsers extends scala.util.parsing.combinator.RegexParsers {
val parser: Parser[String] = "abc"
// or more explicit: val parser = literal("abc")
}
但是,您可能需要Stream[Char]
而不是Stream[Character]
。
您也可以使用acceptSeq("abc")
,因为String
可隐式转换为Iterable[Char]
,但效率会明显降低。