次の方法で共有


Expression class

値を生成するために分析または評価できる式。 これにより、多数の組み込み関数をサポートし、実行時にも拡張できるオープン エンド ラッパーが提供されます。 また、例外のない式と評価の正確性の検証もサポートしています。

コンストラクター

Expression(string, ExpressionEvaluator, Expression[])

式コンストラクター。

プロパティ

children

子式。

evaluator

式のエバリュエーター。

functions

関数のディクショナリ = expressionEvaluator>。 これはすべての使用可能な関数です。カスタム関数を追加することはできますが、組み込み関数を置き換えることはできません。 ディクショナリをクリアすると、組み込み関数にリセットされます。

returnType

式を評価した結果が予想されます。

type

式の型。

メソッド

andExpression(Expression[])

And 式を構築して検証します。

deepEquals(Expression)

式間で深い等価性を行います。

equalsExpression(Expression[])

Equals 式を構築して検証します。

lambaExpression(EvaluateExpressionDelegate)

EvaluateExpressionDelegate から式を構築する

lambda((arg0: any) => any)

状態に対するランバ式から式を構築します。 例外がキャッチされ、エラー文字列として表示されます。

lookup(string)

ExpressionEvaluator 関数を名前で検索します。

makeExpression(string, ExpressionEvaluator, Expression[])

式を作成して検証します。

notExpression(Expression)

Not 式を構築して検証します。

orExpression(Expression[])

Or 式を構築して検証します。

parse(string, EvaluatorLookup)

式文字列を Expression オブジェクトに解析します。

references()

メモリへの静的参照パスを返します。 すべての静的パスをメモリに返します。 計算された要素インデックスがある場合、パスはそこで終了しますが、計算された部分から他のパスを取得することもできます。

referenceWalk(Expression, (arg0: Expression) => boolean)

式内の静的メモリ参照を識別するためのウォーキング関数。

setPathToValue(Expression, any)

プロパティ式を値式に設定するを構築し、検証します。

toString()

現在の Expression オブジェクトを表す文字列を返します。

tryEvaluate(MemoryInterface | any, Options)

式を評価します。

validate()

即時式を検証します。

validateTree()

式ツリーを再帰的に検証します。

コンストラクターの詳細

Expression(string, ExpressionEvaluator, Expression[])

式コンストラクター。

new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])

パラメーター

type

string

ExpressionType からの式の型

evaluator
ExpressionEvaluator

式を検証および評価する方法に関する情報。

children

Expression[]

子式。

プロパティの詳細

children

子式。

children: Expression[]

プロパティ値

evaluator

式のエバリュエーター。

evaluator: ExpressionEvaluator

プロパティ値

functions

関数のディクショナリ = expressionEvaluator>。 これはすべての使用可能な関数です。カスタム関数を追加することはできますが、組み込み関数を置き換えることはできません。 ディクショナリをクリアすると、組み込み関数にリセットされます。

static functions: FunctionTable = new FunctionTable()

プロパティ値

returnType

式を評価した結果が予想されます。

ReturnType returnType

プロパティ値

式を評価した場合に予想される結果。

type

式の型。

string type

プロパティ値

string

式の型。

メソッドの詳細

andExpression(Expression[])

And 式を構築して検証します。

static function andExpression(children: Expression[]): Expression

パラメーター

children

Expression[]

子句。

戻り値

新しい式。

deepEquals(Expression)

式間で深い等価性を行います。

function deepEquals(other: Expression): boolean

パラメーター

other
Expression

その他の式。

戻り値

boolean

True の 場合は、式が同じです。

equalsExpression(Expression[])

Equals 式を構築して検証します。

static function equalsExpression(children: Expression[]): Expression

パラメーター

children

Expression[]

子句。

戻り値

新しい式。

lambaExpression(EvaluateExpressionDelegate)

EvaluateExpressionDelegate から式を構築する

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

パラメーター

func
EvaluateExpressionDelegate

式を作成する関数。

戻り値

新しい式。

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

Expression[]

子式。

戻り値

新しい式。

notExpression(Expression)

Not 式を構築して検証します。

static function notExpression(child: Expression): Expression

パラメーター

child
Expression

子句。

戻り値

新しい式。

orExpression(Expression[])

Or 式を構築して検証します。

static function orExpression(children: Expression[]): Expression

パラメーター

children

Expression[]

子句。

戻り値

新しい式。

parse(string, EvaluatorLookup)

式文字列を Expression オブジェクトに解析します。

static function parse(expression: string, lookup?: EvaluatorLookup): Expression

パラメーター

expression

string

式の文字列。

lookup
EvaluatorLookup

随意。 式を解析するときに、関数参照 EvaluatorLookup を使用します。 既定値は、expression.functions テーブル 使用する Expression.lookup です。

戻り値

式オブジェクト。

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

アクセサー式を評価するグローバル状態。 Dictionary にできます。それ以外の場合は、リフレクションを使用してプロパティにアクセスし、インデクサーを使用します。

options
Options

評価で使用されるオプション。

戻り値

計算値とエラー文字列。 文字列が null 以外の場合は、評価エラーが発生しました。

validate()

即時式を検証します。

function validate()

validateTree()

式ツリーを再帰的に検証します。

function validateTree()