Объявление
public static bool Evaluate(string expression, out T value);Параметры
expression | Строка, содержащая математическое выражение (например, "4+3").. |
value | Результат вычисления выражения. Поддерживаемые типы: int , float , long , double . |
Возвращает
bool Указывает, можно ли успешно вычислить выражение.
Описание
Вычисляет математическое выражение и возвращает результат.
Выражения, которые можно вычислить, поддерживают:
- арифметические операторы
a+b
,a-b
,a*b
,а/б
, - степенные (
a^b
) и модульные (a%b
) операторы, - скобки,
- математические функции
sqrt(a)
,floor(a)
,ceil(a) )
,раунд(а)
, - тригонометические функции
cos(a)
,sin(a)
,tan(a )
(аргумент выражен в радианах) и константаpi
.
Если выражение невозможно вычислить, функция возвращает false
, а значение результата устанавливается равным нулю.
using UnityEditor;
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
[MenuItem("Example/Int Expression")]
public static void IntExample()
{
ExpressionEvaluator.Evaluate("2+3", out int result);
// prints 5
Debug.Log(result);
}
[MenuItem("Example/Float Expression")]
public static void FloatExample()
{
ExpressionEvaluator.Evaluate("sqrt(cos(pi/3))", out float result);
// prints 0.7071068
Debug.Log(result);
}
}