Clause class
標準一般格式表達式。
- Extends
建構函式
Clause(Clause | Expression | Expression[]) | 初始化 |
屬性
any |
取得或設定 anyBinding 字典。 |
return |
評估表達式的預期結果。 |
subsumed | 取得或設定 子句是否為子句。 |
type | 表達式的類型。 |
繼承的屬性
children | 子表達式。 |
evaluator | 表達式評估工具。 |
functions | function => ExpressionEvaluator 的字典。 這是所有可用的函式,您可以將自定義函式新增至其中,但無法取代內建函式。 如果您清除字典,則會重設為內建函式。 |
方法
matches(Clause, Memory |
判斷目前的 |
relationship(Clause, Predicate |
比較目前的 |
split |
分割忽略的子表達式。 |
to |
取得表示目前 子句的字串。 |
繼承的方法
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 |
建構及驗證將屬性表示式設定為值表達式。 |
try |
評估表達式。 |
validate() | 驗證立即表達式。 |
validate |
以遞歸方式驗證表達式樹狀結構。 |
建構函式詳細資料
Clause(Clause | Expression | Expression[])
初始化 Clause
類別的新實例。
new Clause(clauseOrExpression?: Clause | Expression | Expression[])
參數
- clauseOrExpression
-
Clause | Expression | Expression[]
子句、運算式或表示式數位,以初始化 Clause
。
屬性詳細資料
anyBindings
取得或設定 anyBinding 字典。
anyBindings: Map<string, string> = new Map<string, string>()
屬性值
Map<string, string>
returnType
subsumed
取得或設定 子句是否為子句。
subsumed: boolean = false
屬性值
boolean
type
表達式的類型。
string type
屬性值
string
表達式的類型。
繼承的屬性詳細資料
children
evaluator
functions
function => ExpressionEvaluator 的字典。 這是所有可用的函式,您可以將自定義函式新增至其中,但無法取代內建函式。 如果您清除字典,則會重設為內建函式。
static functions: FunctionTable = new FunctionTable()
屬性值
方法詳細資料
matches(Clause, MemoryInterface | any)
判斷目前的 Clause
是否符合另一個 Clause
。
function matches(clause: Clause, memory: MemoryInterface | any): boolean
參數
- clause
- Clause
要比較的另一個 Clause
實例。
- memory
-
MemoryInterface | any
查閱變數的範圍。
傳回
boolean
布爾值,指出兩個子句是否相符。
relationship(Clause, PredicateComparers)
比較目前的 Clause
與另一個 Clause
。
function relationship(other: Clause, comparers: PredicateComparers): RelationshipType
參數
- other
- Clause
要比較的其他 Clause
。
- comparers
- PredicateComparers
比較子,這是具有字串索引鍵的 PredicateComparer
字典。
傳回
兩個 Clause
實例之間的 RelationshipType
值。
splitIgnores()
分割忽略的子表達式。
function splitIgnores()
toString(string[], number)
取得表示目前 子句的字串。
function toString(builder: string[], indent: number): string
參數
- builder
-
string[]
要建置 子句字串的字串陣列。
- indent
-
number
整數代表行開頭的空格數。
傳回
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
子句。
傳回
新運算式。
繼承自 expression.orExpressionexpression.orExpression
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 表達式。
傳回
新運算式。
tryEvaluate(MemoryInterface | any, Options)
評估表達式。
function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError
參數
- state
-
MemoryInterface | any
用來評估存取子表達式的全域狀態。 可以是 Dictionary,否則會使用反映來存取屬性,然後是索引器。
- options
- Options
評估中使用的選項。
傳回
計算值和錯誤字串。 如果字串為非 Null,則發生評估錯誤。