기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
표현식에 사용할 함수
- 기본 제공 함수
-
timeout("
timer-name
")-
지정된 타이머가 경과했는지 여부를
true
평가합니다. 바꾸기”타이머 이름
“는 사용자가 정의한 타이머 이름을 따옴표로 묶습니다. 이벤트 작업에서 타이머를 정의한 다음 타이머를 시작하거나, 재설정하거나, 이전에 정의한 타이머를 지울 수 있습니다. 필드detectorModelDefinition.states.onInput|onEnter|onExit.events.actions.setTimer.timerName
을 참조하십시오.한 상태에서 설정된 타이머를 다른 상태에서 참조할 수 있습니다. 타이머가 참조되는 상태를 입력하기 전에 타이머를 만든 상태를 방문해야 합니다.
예를 들어, 검출기 모델에는 두 개의 상태
TemperatureChecked
및RecordUpdated
가 있습니다.TemperatureChecked
상태에서 타이머를 생성했습니다.TemperatureChecked
주에서 타이머를 사용하려면 먼저 주를 방문해야 합니다.RecordUpdated
정확성을 보장하기 위해 타이머를 설정해야 하는 시간은 최소 60초입니다.
참고
실제 타이머 만료 후 처음 확인할 때만
timeout()
이true
로 반환되고 그 이후에는false
로 반환됩니다. convert(
type
,expression
)-
지정된 유형으로 변환된 표현식의 값으로 평가합니다. The
type
값은String
Boolean
, 또는 이어야Decimal
합니다. 다음 키워드 중 하나를 사용하거나 키워드가 포함된 문자열로 평가되는 표현식을 사용하십시오. 다음 변환만 성공하여 유효한 값을 반환합니다.-
부울 -> 문자열
문자열
"true"
또는"false"
를 반환합니다. -
10진수 -> 문자열
-
문자열 -> 부울
-
문자열 -> 10진수
지정된 문자열은 유효한 10진수 표현이어야 하며, 그렇지 않으면
convert()
는 실패합니다.
convert()
가 유효한 값을 반환하지 않으면 해당 값이 속한 표현식도 유효하지 않습니다. 이 결과는false
와 동일하며 표현식이 발생한 이벤트의 일부로nextState
지정된 이벤트와actions
으로 전환을 트리거하지 않습니다. -
isNull(
expression
)-
표현식이 NULL로 반환되면
true
로 평가됩니다. 예를 들어, 입력MyInput
이 메시지{ "a": null }
을 수신하면 다음은true
로 평가되지만isUndefined($input.MyInput.a)
는false
로 평가됩니다.isNull($input.MyInput.a)
isUndefined(
expression
)-
표현식이 정의되지 않았다면
true
로 평가됩니다. 예를 들어, 입력MyInput
이 메시지{ "a": null }
을 수신하면 다음은false
로 평가되지만isNull($input.MyInput.a)
는true
로 평가됩니다.isUndefined($input.MyInput.a)
triggerType("
type
")-
The
type
값은"Message"
또는 일 수"Timer"
있습니다. 다음 예제와 같이 타이머가 만료되어 해당 이벤트가 나타나는 이벤트 조건을 평가 중이라면true
로 평가됩니다.triggerType("Timer")
또는 입력 메시지가 수신되었습니다.
triggerType("Message")
currentInput("
input
")-
지정된 입력 메시지를 받았기 때문에 해당 메시지가 나타나는 이벤트 조건을 평가 중이라면
true
로 평가됩니다. 예를 들어, 입력Command
가 메시지{ "value": "Abort" }
를 수신하면 다음은true
로 평가됩니다.currentInput("Command")
이 함수를 사용하여 다음 표현식에서처럼 특정 입력이 수신되었고 타이머가 만료되지 않았으므로 조건이 평가되고 있는지 확인할 수 있습니다.
currentInput("Command") && $input.Command.value == "Abort"
- 문자열 일치 함수
-
startsWith(
expression1
,expression2
)-
첫 번째 문자열 표현식이 두 번째 문자열 표현식으로 시작한다면
true
로 평가합니다. 예를 들어, 입력MyInput
이 메시지{ "status": "offline"}
을 수신하면 다음은true
로 평가됩니다.startsWith($input.MyInput.status, "off")
두 표현식 모두 문자열 값으로 평가되어야 합니다. 두 표현식 중 하나라도 문자열 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.
endsWith(
expression1
,expression2
)-
첫 번째 문자열 표현식이 두 번째 문자열 표현식으로 끝난다면
true
로 평가합니다. 예를 들어, 입력MyInput
이 메시지{ "status": "offline" }
을 수신하면 다음은true
로 평가됩니다.endsWith($input.MyInput.status, "line")
두 표현식 모두 문자열 값으로 평가되어야 합니다. 두 표현식 중 하나라도 문자열 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.
contains(
expression1
,expression2
)-
첫 번째 문자열 표현식에 두 번째 문자열 표현식이 포함되어 있다면
true
로 평가합니다. 예를 들어, 입력MyInput
이 메시지{ "status": "offline" }
을 수신하면 다음은true
로 평가됩니다.contains($input.MyInput.value, "fli")
두 표현식 모두 문자열 값으로 평가되어야 합니다. 두 표현식 중 하나라도 문자열 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.
- 비트별 정수 조작 함수
-
bitor(
expression1
,expression2
)-
정수 표현식의 비트별 OR을 평가합니다(이항 OR 연산은 정수의 대응하는 비트에 대해 수행됨). 예를 들어, 입력
MyInput
이 메시지{ "value1": 13, "value2": 5 }
를 수신하면 다음은13
으로 평가됩니다.bitor($input.MyInput.value1, $input.MyInput.value2)
두 표현식 모두 정수 값으로 평가되어야 합니다. 두 표현식 중 하나가 정수 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.
bitand(
expression1
,expression2
)-
정수 표현식의 비트별 AND 값을 평가합니다 (이항 AND 연산은 정수의 대응하는 비트에 대해 수행됨). 예를 들어, 입력
MyInput
이 메시지{ "value1": 13, "value2": 5 }
을 수신하면 다음은5
로 평가됩니다.bitand($input.MyInput.value1, $input.MyInput.value2)
두 표현식 모두 정수 값으로 평가되어야 합니다. 두 표현식 중 하나가 정수 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.
bitxor(
expression1
,expression2
)-
정수 표현식의 비트별 XOR 값을 평가합니다. 이항 XOR 연산은 정수의 대응되는 비트에 대해 수행됩니다. 예를 들어, 입력
MyInput
이 메시지{ "value1": 13, "value2": 5 }
을 수신하면 다음은8
로 평가됩니다.bitxor($input.MyInput.value1, $input.MyInput.value2)
두 표현식 모두 정수 값으로 평가되어야 합니다. 두 표현식 중 하나가 정수 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.
bitnot(
expression
)-
정수 표현식의 비트별 NOT 값을 평가합니다 (이항 NOT 연산은 정수 비트에 대해 수행됨). 예를 들어, 입력
MyInput
이 메시지{ "value": 13 }
을 수신하면 다음은-14
로 평가됩니다.bitnot($input.MyInput.value)
두 표현식 모두 정수 값으로 평가되어야 합니다. 두 표현식 중 하나가 정수 값으로 평가되지 않으면 함수의 결과가 정의되지 않습니다. 변환은 수행되지 않습니다.