我在一些Scala代码中看到了^^^
的用法,但不理解它的用法,也看不到任何关于它的文档。我也很确定它不是来自任何外部库,但可能是这样?我知道^^
是.map()
的运算符,但不知道当你有第三个^时是否有相似性。
使用示例:
case object TypeFoo extends Type {
override def toString() = "Foo"
}
case object TypeBar extends Type {
override def toString() = "Bar"
}
def repType= (
"Foo" ^^^ TypeFoo
| "Bar" ^^^ TypeBar
)
据我所知,它可能是";由";,但我真的不确定,因此我提出了这个问题。
^^^
方法的Javadoc说:
将成功结果更改为指定值的解析器组合子。
如果
p
成功,则p ^^^ v
成功;丢弃其结果并返回v
。
@param v
解析器,最多评估一次(如果p
成功(,根本不评估如果CCD_ 10失败@return
是一个与当前解析器,但其成功结果是v
换句话说,"Foo" ^^^ TypeFoo
只是"Foo" ^^ (_ => TypeFoo)
的简写。