/// <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); } }
/// <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); } }
/// <summary> /// 数式を計算して結果を返す /// </summary> /// <param name="exp">数式</param> /// <returns>計算結果</returns> public object CalcExpression(ExpressionParser exp) { return(exp.CalcExp(GetParameter, TrySetParameter)); }