専用の電卓を作りたい。私はそれcase class
が操作のための良い考えだと思います:
sealed class Expr
case class add(op1:Int, op2:Int) extends Expr
case class sub(op1:Int, op2:Int) extends Expr
case class mul(op1:Int, op2:Int) extends Expr
case class div(op1:Int, op2:Int) extends Expr
case class sqrt(op:Int) extends Expr
case class neg(op:Int) extends Expr
/* ... */
これで、入力の解析に match-case を使用できるようになりました。たぶん、私も使用する必要がありますtraits
(つまり:trait Distributivity
などtrait Commutativity
)、それは可能ですか? それは良い考えですか?