小编Jan*_*ano的帖子

理解Scala解析器组合器中的波浪号

我是相当新的Scala和一边念叨解析器组合(魔术解析器组合的背后,在斯卡拉领域特定语言),我遇到的方法定义来是这样的:

def classPrefix = "class" ~ ID ~ "(" ~ formals ~ ")"
Run Code Online (Sandbox Code Playgroud)

我一直在阅读scala.util.parsing.Parsers的API文档,它定义了一个名为(代字号)的方法,但我仍然不能理解它在上面例子中的用法.在该示例中(代字号)是在java.lang.String上调用的方法,该方法没有该方法并导致编译器失败.我知道(代字号)被定义为

case class ~ [+a, +b] (_1: a, _2: b)
Run Code Online (Sandbox Code Playgroud)

但是这对上面的例子有什么帮助呢?

如果有人能给我一些提示来了解这里发生了什么,我会很高兴.非常感谢你提前!

一月

scala parser-combinators

21
推荐指数
2
解决办法
1万
查看次数

标签 统计

parser-combinators ×1

scala ×1