Objektorientierte Programmierung WS 2013/2014 - Datei caseclass.scala
abstract class Term case class Num(x:Int) extends Term case class Plus(x:Term, y:Term) extends Term case class Times(x:Term, y:Term) extends Term case class Minus(x:Term, y:Term) extends Term case class Div(x:Term, y:Term) extends Term object MainClass { def eval(t: Term) : Int = t match { case Num(x) => x case Plus(x,y) => eval(x) + eval(y) case Times(x,y) => eval(x) * eval(y) case Minus(x,y) => eval(x) - eval(y) case Div(x,y) => eval(x) / eval(y) } def main( a : Array[String]) { val t1 = Times(Num(10), Plus(Num(2), Div(Num(5), Num(2)))) println (eval(t1)) } }
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 21.01.2014