表达式求值(scala)

给一个用字符串表示的表达式数组,求出这个表达式的值。
** 注意事项
表达式只包含整数
,+,-,,/,(,).
样例对于表达式(2
6-(23+7)/(1+2))
, 对应的数组为:
[ "2", "*", "6", "-", "(", "23", "+", "7", ")", "/", (", "1", "+", "2", ")"],
其值为2

object evals {
  def main(args: Array[String]): Unit = {
    val tb = scala.reflect.runtime.currentMirror.mkToolBox()
     println(tb.eval(
                  tb.parse(
                   List("2", "*", "6", "-", "(",
                        "23", "+", "7", ")", "/",
                        "(", "1", "+", "2", ")").reduce(_+_)
                  )))
  }
}

你可能感兴趣的:(表达式求值(scala))