Exp
Do not use a keyword case
. That is, sealed abstract case class
rarely, if ever, it makes sense to use.
, sealed abstract case class Exp()
, - - Exp
, unapply
. unapply
, Exp
. , Add
, Sub
..
:
sealed abstract class Exp
case class Literal(x: Int) extends Exp
case class Add(a: Exp, b: Exp) extends Exp
case class Sub(a: Exp, b: Exp) extends Exp