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 |
式文字列を Expression オブジェクトに解析します。 |
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
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)
式文字列を Expression オブジェクトに解析します。
static function parse(expression: string, lookup?: EvaluatorLookup): Expression
パラメーター
- expression
-
string
式の文字列。
- lookup
- EvaluatorLookup
随意。
式を解析するときに、関数参照 EvaluatorLookup を使用します。 既定値は、expression.functions テーブル
戻り値
式オブジェクト。
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()