Beispiel #1
0
        /// <summary>
        /// 计算表达式
        /// </summary>
        /// <param name="polish">表达式的逆波兰式</param>
        /// <param name="vsm">关于哪个调用堆栈做动作</param>
        /// <returns>计算结果的值(Double/字符串)</returns>
        public static object Evaluate(string polish, StackMachine vsm)
        {
            var calcList = PolishEvaluator.GetPolishItemList(polish, vsm, null);

            return(PolishEvaluator.HandleEval(polish, calcList));
        }
Beispiel #2
0
        /// <summary>
        /// 计算表达式的值
        /// </summary>
        /// <param name="expr">表达式字符串</param>
        /// <param name="ctx">求值上下文</param>
        /// <returns>计算结果的值(Double/字符串)</returns>
        public object Eval(string expr, EvaluatableContext ctx)
        {
            var calcList = PolishEvaluator.GetPolishItemList(expr, null, ctx);

            return(PolishEvaluator.HandleEval(expr, calcList));
        }