Expression class
값을 생성하기 위해 분석하거나 평가할 수 있는 식입니다. 이렇게 하면 여러 기본 제공 함수를 지원하고 런타임에 확장할 수도 있는 개방형 래퍼가 제공됩니다. 또한 예외가 없어야 하는 식 및 평가의 정확성에 대한 유효성 검사를 지원합니다.
생성자
Expression(string, Expression |
식 생성자입니다. |
속성
children | 자식 식입니다. |
evaluator | 식의 계산기입니다. |
functions | 함수 사전 => ExpressionEvaluator. 이 함수는 사용 가능한 모든 함수이며 사용자 지정 함수를 추가할 수 있지만 기본 제공 함수를 바꿀 수는 없습니다. 사전을 지우면 기본 제공 함수로 다시 설정됩니다. |
return |
식 평가의 예상 결과입니다. |
type | 식의 형식입니다. |
메서드
and |
And 식을 생성하고 유효성을 검사합니다. |
deep |
식 간에 깊은 같음을 수행합니다. |
equals |
Equals 식을 생성하고 유효성을 검사합니다. |
lamba |
EvaluateExpressionDelegate에서 식 생성 |
lambda((arg0: any) => any) | 람바 식에서 상태를 통해 식을 생성합니다. 예외가 catch되고 오류 문자열로 표시됩니다. |
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)
람바 식에서 상태를 통해 식을 생성합니다. 예외가 catch되고 오류 문자열로 표시됩니다.
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 테이블을 사용하는 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
접근자 식을 평가할 전역 상태입니다. 사전일 수 있고, 그렇지 않으면 리플렉션이 속성에 액세스한 다음 인덱서에 액세스하는 데 사용됩니다.
- options
- Options
평가에 사용되는 옵션입니다.
반환
계산된 값 및 오류 문자열입니다. 문자열이 null이 아닌 경우 평가 오류가 발생했습니다.
validate()
즉시 식의 유효성을 검사합니다.
function validate()
validateTree()
식 트리의 유효성을 재귀적으로 검사합니다.
function validateTree()