0
は、私はこのようなパーサを持っていると言うオプション解析:Scalaのパーサコンビネータ:
trait PT {}
trait StatementPT extends PT{}
...
class LoopConditionPT(val operation: String, val variable: IdentPT, val condition: Option[(String,ExpressionPT)]) extends StatementPT { ... }
Option[(String,ExpressionPT)])
バグ私はその日のために、私はOption[T]
が、Option[(T,T)]
に対処することができます意味ですか?私はこのdef loopCondition
を書いたが、それは常にエラーが発生します。
def loopCondition: Parser[LoopConditionPT] = "some string" ~ var ~ opt(("TIL"|"WILE") ~ expression) ^^ {
case a ~ b ~ Some(c ~ d) => new LoopCondition(a, b, Option[(c, d)])
case a ~ b ~ None => new LoopCondition(a, b, Option[("None", -1)])
誰かが私にloopCondition
を修正助けることができますか?ありがとう。
ザッツない代わりに、 'オプション[(Cの有効な構文を...と言うことができると言いますオプション(c - > d) '、'オプション((c、d)) '、' Some(c - > d) 'など –