Я новичок в Scala и читаю о комбинаторах парсеров (The Magic Behind Parser Combinators, Домен -Specific Languages в Scala) Я столкнулся с определениями методов следующим образом:
def classPrefix = "class" ~ ID ~ "(" ~ formals ~ ")"
Я читал API-документа scala.util.parsing.Parsers, который определяет метод с именем (tilde), но я до сих пор не понимаю его использования в приведенном выше примере. В этом примере (tilde) - это метод, который вызывается на java.lang.String, который не имеет этого метода и приводит к сбою компилятора. Я знаю, что (тильда) определяется как
case class ~ [+a, +b] (_1: a, _2: b)
но как это поможет в приведенном выше примере?
Я был бы рад, если бы кто-нибудь мог дать мне подсказку, чтобы понять, что происходит здесь. Большое вам спасибо заранее!
Jan