【发布时间】:2014-04-30 21:24:52
【问题描述】:
尝试将非回溯 ~> 和
RegexParsers 实现 implicit def literal(s: String): Parser[String] 女巫转换隐含的字符串到 Parser[String]
现在我补充:
`object implicits{
implicit class helper[T](parser : Parser[T]) {
def ~>! [U](q: => Parser[U]): Parser[U] = parser ~! q ^^ {case a ~ b => b} named ("~>!")
def <~! [U](q: => Parser[U]): Parser[T] = parser ~! q ^^ {case a ~ b => a} named ("<~!")
}
}
女巫是我的隐式职业。
但我看到了一件奇怪的事情
def groupe : Parser[Group] = "group(" ~>! identifier <~! ")"
标识符是一个解析器
这里我在类参数"group(" ~>! identifier 中传递字符串时出现错误,因为没有进行隐式并且编译器会查找〜>!在字符串中。
但是当它在方法参数identifier <~! ")" 中传递时,String->Parser[String] 隐式工作。
这是一个 Scala 错误还是我错过了什么?
【问题讨论】:
标签: scala parsing playframework-2.0 implicit