美文网首页
表达式求值(scala)

表达式求值(scala)

作者: 奈文摩尔定律 | 来源:发表于2016-11-02 16:52 被阅读82次

    给一个用字符串表示的表达式数组,求出这个表达式的值。
    ** 注意事项
    表达式只包含整数
    ,+,-,,/,(,).
    样例对于表达式(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)

          本文链接:https://www.haomeiwen.com/subject/lfovuttx.html