Expression class
可分析或評估以產生值的表達式。 這提供一個開放式包裝函式,可支援一些內建函式,也可以在運行時間擴充。 它也支持驗證表達式和評估的正確性,這些表達式和評估應該不受例外狀況。
建構函式
Expression(string, Expression |
表達式建構函式。 |
屬性
children | 子表達式。 |
evaluator | 表達式評估工具。 |
functions | function => ExpressionEvaluator 的字典。 這是所有可用的函式,您可以將自定義函式新增至其中,但無法取代內建函式。 如果您清除字典,則會重設為內建函式。 |
return |
評估表達式的預期結果。 |
type | 表達式的類型。 |
方法
and |
建構及驗證 And 運算式。 |
deep |
在表達式之間執行深度相等。 |
equals |
建構並驗證 Equals 表達式。 |
lamba |
從 EvaluateExpressionDelegate 建構表達式 |
lambda((arg0: any) => any) | 透過狀態從 lamba 表達式建構表達式。 例外狀況將會攔截並呈現為錯誤字串。 |
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
function => 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)
透過狀態從 lamba 表達式建構表達式。 例外狀況將會攔截並呈現為錯誤字串。
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
自選。 剖析表達式時,評估工具Lookup 函式查閱。 默認值為 Expression.lookup,它會使用 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()
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()