Ejemplo n.º 1
0
        /// <summary>
        /// 文字列で書かれた数式を計算して結果を返す
        /// ただし、パラメーターに代入はしない
        /// </summary>
        /// <param name="exp">文字列で書かれた数式</param>
        /// <returns>計算結果</returns>
        public object CalcExpressionNotSetParam(string exp)
        {
            ExpressionParser expression = CreateExpression(exp);

            if (string.IsNullOrEmpty(expression.ErrorMsg))
            {
                return(expression.CalcExp(GetParameter, CheckSetParameter));
            }
            else
            {
                throw new System.Exception(expression.ErrorMsg);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 数式を計算してintを返す
        /// </summary>
        /// <param name="exp">数式</param>
        /// <returns>計算結果</returns>
        public int CalcExpressionInt(ExpressionParser exp)
        {
            object obj = exp.CalcExp(GetParameter, TrySetParameter);

            if (obj.GetType() == typeof(int))
            {
                return((int)obj);
            }
            else if (obj.GetType() == typeof(float))
            {
                return((int)(float)obj);
            }
            else
            {
                Debug.LogError("Int Cast error : " + exp.Exp);
                return(0);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 数式を計算して結果を返す
 /// </summary>
 /// <param name="exp">数式</param>
 /// <returns>計算結果</returns>
 public object CalcExpression(ExpressionParser exp)
 {
     return(exp.CalcExp(GetParameter, TrySetParameter));
 }