as 연산자
as 연산자는 한 EGL 유형의 값을 다른 유형에 캐스트합니다. as 연산자의 가장 일반적인 사용법은 ExternalType 구문을 통해 Java™가 리턴하는 오브젝트와 함께 사용하는 것입니다. 이 액세스는 엄격하게 정적이므로 EGL에 대해 정의한 유형에 오브젝트를 캐스트해야 합니다. 자세한 정보는 "ExternalType 파트"를 참조하십시오.
이 연산자는 ANY 유형 변수 처리 시에도 유용합니다.
구문

- expression
- 올바른 EGL 표현식입니다.
- type
- DataItem을 제외한 EGL 유형입니다. DataItem 파트는 나타내는 기본 유형과 독립된 유형을 정의하지 않습니다. ExternalType 참조의 경우 런타임 코드는 EGL ExternalType이 나타내는 실제 유형을 참조해야 합니다. 이 유형은 널 입력 가능 유형 스펙 문자 "?"를 포함할 수 있습니다("널값 및 널 입력 가능 유형" 참조).
외국어 캐스트
Java 유형에 대한 EGL 맵핑이
충분하지 않은 경우 as 캐스트 연산자를
사용하십시오("Java에 EGL 기본요소 맵핑" 참조). 이는 유형의 접두부에 언어 이름 및 콜론이 추가되는 외국어 캐스트라는
as 연산자의 특수한 경우입니다. 다음과 같이 전체
유형 피연산자는 따옴표로 묶입니다.
null as "java:java.lang.Integer"
Java objID 유형은 기본이
아니므로 EGL은 이 경우 피연산자의 파트를 되돌립니다.
myVar as "objID:java"
다음 예제에서는 javaLib.store() 메소드를 사용한
외국어 캐스트를 보여줍니다.
javaLib.store("storeId" as "objID:java", "myId" as "objID:java",
"myMethod", myVar as "java:smallfloat");
이 외국어 캐스트는 EGL의 Java 액세스 함수에만 사용할 수 있습니다(Java 액세스 함수 참조). 이 함수는 이전 버전과의 호환성을 위해 EGL이 유지하는 이전의 함수입니다. 새 코드의 경우 더 강력한 ExternalType 구문을 사용하십시오.
예제
다음 예제에서 사전 값의 기본 유형은 ANY입니다. 숫자 표현식에서는 ANY 유형을 사용할 수 없으므로 값을 숫자 유형으로 캐스트해야 합니다.
aDict Dictionary{ a = 1, b = 4 };
result int;
result = (aDict.a as INT) + (aDict.b as INT);
오류 조건
대상 유형에 적합하지 않은 값을 캐스트하는 경우 EGL에 TypeCastException이 발생합니다.