ExpressionEvaluator.Evaluate
Declaration
public static bool Evaluate(string expression, out T value);Параметры
| Параметр | Описание |
|---|---|
| выражение | Строка, содержащая математическое выражение (e.g. "4+3"). |
| значение | Результат оценки выражения. Поддерживаемые типы: int, float, long, double. |
Возвращаемое значение
логическое Показывает, удалось ли успешно оценить выражение.
Описание
Оценивает математическое выражение и возвращает результат.
Выражения, которые могут быть оценены поддержкой:
- арифметические операторы
a+b,a-b,a*b,a/b, - операторы мощности (
a^b) и модуля (a%b), - в скобках,
- математические функции
sqrt(a),floor(a),ceil(a),round(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); } }