0
が続くが、私は5 * 5 + 5Scalaのパーサ^^^機能
def add_expr: Parser[Expr] =
mult_expr * (
"+" ^^^ { (a: Expr, b: Expr) => Plus(a, b) } |
"-" ^^^ { (a: Expr, b: Expr) => Minus(a, b) })
文書によるような文字列をパースのこの部分のコードに出くわした、^^^」と言い、結果を無視して右側の値を使用してください。では、なぜこのコードが機能するのですか? ^^^の右側の値は関数であり、Exprの値ではありません。