Expression class
Выражение, которое можно проанализировать или оценить для создания значения. Это обеспечивает открытый оболочку, которая поддерживает ряд встроенных функций, а также может быть расширена во время выполнения. Он также поддерживает проверку правильности выражения и оценки, которые должны быть свободными от исключения.
Конструкторы
Expression(string, Expression |
конструктор выражений. |
Свойства
children | Дочерние выражения. |
evaluator | Вычислитель выражения. |
functions | Словарь функции => ExpressionEvaluator. Это все доступные функции, к ним можно добавить пользовательские функции, но вы не можете заменить встроенные функции. Если вы очищаете словарь, он будет сброшен на встроенные функции. |
return |
Ожидаемый результат оценки выражения. |
type | Тип выражения. |
Методы
and |
Создание и проверка выражения And. |
deep |
Сделайте глубокое равенство между выражениями. |
equals |
Создайте и проверьте выражение Equals. |
lamba |
Создание выражения из Объекта EvaluateExpressionDelegate |
lambda((arg0: any) => any) | Создайте выражение из лямбда-выражения по состоянию. Исключения будут перехватываться и отображаться в виде строки ошибки. |
lookup(string) | Подстановка функции ExpressionEvaluator по имени. |
make |
Сделайте выражение и проверьте его. |
not |
Создание и проверка выражения Not. |
or |
Создание и проверка выражения Or. |
parse(string, Evaluator |
Синтаксический анализ строки выражения в объект выражения |
references() | Возвращает статические ссылочные пути в память. Возвращает все статические пути в память. Если есть вычисляемый индекс элемента, то путь завершается там, но вы можете получить другие пути из вычисляемой части, а также. |
reference |
Функция ходьбы для идентификации ссылок на статическую память в выражении. |
set |
Создайте и проверьте выражение свойства в выражение значения. |
to |
Возвращает строку, представляющую текущий объект Expression. |
try |
Оцените выражение. |
validate() | Проверка немедленного выражения. |
validate |
Рекурсивно проверьте дерево выражений. |
Сведения о конструкторе
Expression(string, ExpressionEvaluator, Expression[])
конструктор выражений.
new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])
Параметры
- type
-
string
Тип выражения из ExpressionType
- evaluator
- ExpressionEvaluator
Сведения о том, как проверить и оценить выражение.
- children
Дочерние выражения.
Сведения о свойстве
children
evaluator
functions
Словарь функции => ExpressionEvaluator. Это все доступные функции, к ним можно добавить пользовательские функции, но вы не можете заменить встроенные функции. Если вы очищаете словарь, он будет сброшен на встроенные функции.
static functions: FunctionTable = new FunctionTable()
Значение свойства
returnType
Ожидаемый результат оценки выражения.
ReturnType returnType
Значение свойства
Ожидаемый результат оценки выражения.
type
Тип выражения.
string type
Значение свойства
string
Тип выражения.
Сведения о методе
andExpression(Expression[])
Создание и проверка выражения And.
static function andExpression(children: Expression[]): Expression
Параметры
- children
Дочерние предложения.
Возвращаемое значение
Новое выражение.
deepEquals(Expression)
Сделайте глубокое равенство между выражениями.
function deepEquals(other: Expression): boolean
Параметры
- other
- Expression
Другое выражение.
Возвращаемое значение
boolean
Значение True, если выражения одинаковы.
equalsExpression(Expression[])
Создайте и проверьте выражение Equals.
static function equalsExpression(children: Expression[]): Expression
Параметры
- children
Дочерние предложения.
Возвращаемое значение
Новое выражение.
lambaExpression(EvaluateExpressionDelegate)
Создание выражения из Объекта EvaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Параметры
Функция для создания выражения из.
Возвращаемое значение
Новое выражение.
lambda((arg0: any) => any)
Создайте выражение из лямбда-выражения по состоянию. Исключения будут перехватываться и отображаться в виде строки ошибки.
static function lambda(func: (arg0: any) => any): Expression
Параметры
- func
-
(arg0: any) => any
Выражение ambda для вычисления.
Возвращаемое значение
Новое выражение.
lookup(string)
Подстановка функции ExpressionEvaluator по имени.
static function lookup(functionName: string): ExpressionEvaluator
Параметры
- functionName
-
string
Имя функции для поиска.
Возвращаемое значение
ExpressionEvaluator, соответствующие имени функции.
makeExpression(string, ExpressionEvaluator, Expression[])
Сделайте выражение и проверьте его.
static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression
Параметры
- type
-
string
Тип выражения из ExpressionType.
- evaluator
- ExpressionEvaluator
Сведения о том, как проверить и оценить выражение.
- children
Дочерние выражения.
Возвращаемое значение
Новое выражение.
notExpression(Expression)
Создание и проверка выражения Not.
static function notExpression(child: Expression): Expression
Параметры
- child
- Expression
Дочерние предложения.
Возвращаемое значение
Новое выражение.
orExpression(Expression[])
Создание и проверка выражения Or.
static function orExpression(children: Expression[]): Expression
Параметры
- children
Дочерние предложения.
Возвращаемое значение
Новое выражение.
parse(string, EvaluatorLookup)
Синтаксический анализ строки выражения в объект выражения
static function parse(expression: string, lookup?: EvaluatorLookup): Expression
Параметры
- expression
-
string
Строка выражения.
- lookup
- EvaluatorLookup
Необязательный.
LookorLookup функции при анализе выражения. По умолчанию используется
Возвращаемое значение
Объект выражения.
references()
Возвращает статические ссылочные пути в память. Возвращает все статические пути в память. Если есть вычисляемый индекс элемента, то путь завершается там, но вы можете получить другие пути из вычисляемой части, а также.
function references(): string[]
Возвращаемое значение
string[]
Список статических ссылочных путей.
referenceWalk(Expression, (arg0: Expression) => boolean)
Функция ходьбы для идентификации ссылок на статическую память в выражении.
function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }
Параметры
- expression
- Expression
Выражение для анализа.
- extension
-
(arg0: Expression) => boolean
При наличии вызывается переопределение поиска таких элементов, как расширение шаблона.
Возвращаемое значение
{ path: string, refs: Set<string> }
Путь метода доступа к выражению.
setPathToValue(Expression, any)
Создайте и проверьте выражение свойства в выражение значения.
static function setPathToValue(property: Expression, value: any): Expression
Параметры
- property
- Expression
выражение свойства.
- value
-
any
выражение value.
Возвращаемое значение
Новое выражение.
toString()
Возвращает строку, представляющую текущий объект Expression.
function toString(): string
Возвращаемое значение
string
Строка, представляющая текущий объект Expression.
tryEvaluate(MemoryInterface | any, Options)
Оцените выражение.
function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError
Параметры
- state
-
MemoryInterface | any
Глобальное состояние для оценки выражений метода доступа. Может быть словарем, в противном случае отражение используется для доступа к свойству, а затем индексатору.
- options
- Options
Параметры, используемые в оценке.
Возвращаемое значение
Вычисляемое значение и строка ошибки. Если строка не имеет значения NULL, произошла ошибка оценки.
validate()
Проверка немедленного выражения.
function validate()
validateTree()
Рекурсивно проверьте дерево выражений.
function validateTree()