我试图从parboiled2尝试这个例子:
scala> class MyParser(val input: org.parboiled2.ParserInput)
extends org.parboiled2.Parser {
def f = rule { capture("foo" ~ push(42))
}
}
defined class MyParser
Run Code Online (Sandbox Code Playgroud)
然后,我创建一个新MyParser的输入"foo".
scala> new MyParser("foo").f
res11: org.parboiled2.Rule[shapeless.HNil,shapeless.::
[Int,shapeless.::[String,shapeless.HNil]]] = null
Run Code Online (Sandbox Code Playgroud)
但回报值是null.
如何从REPL 运行这个简单的f 规则?
看看parboiled2部分,Rule Combinators and Modifiers:

我不明白的a,b和再a ~ b图.
到目前为止,我发现文档很简单.但我在这里有点失落.
你能解释一下这个街区吗?