我是相当新的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)
但是这对上面的例子有什么帮助呢?
如果有人能给我一些提示来了解这里发生了什么,我会很高兴.非常感谢你提前!
一月