특성 소개
특성은 파트에 대해 특성 옵션을 설정합니다. 일반적으로 파트를 작성할 때 특성을 지정하며 특성은 정적입니다. 그러나 특정 환경에서 특성을 동적으로 변경할 수 있습니다.
사용 가능한 특성은 각 파트 및 각 스테레오타입에 대해 다르므로 파트를 작성할 때 적절한 특성을 확인하십시오. 일부 파트에는 필수 특성이 있지만 대부분의 특성은 선택사항입니다.
DataItem cost money(10,2)
{Currency = yes,
CurrencySymbol = "$"}
end
여는 중괄호로 시작하고
닫는 중괄호로 끝나는 코드 블록(즉, 특성 및 해당 값의
목록)은 세트 값 블록이라고도 합니다.특성은 특정 상황에서만 유용합니다. 예를 들어, DataItem 파트는 사용자 인터페이스의 특정 유형에만 적용되는 특성을 포함할 수 있습니다. 이전 예제에서와 같이 DataItem 파트에서 특성 통화 및 currencySymbol을 지정하여 DataItem이 통화 값을 나타냄을 표시하고 값 표시에 사용된 금융 기호를 지정할 수 있습니다. EGL 언어 참조의 주제 "currencySymbol"에서 콘솔 사용자 인터페이스 애플리케이션에서가 아니라 웹 페이지에서 사용될 때 이 특성에 영향이 미침을 알 수 있습니다.
특성 값
각 특성에 올바른 값을 제공해야 합니다. 일부 특성은 문자열 리터럴을 승인하고, 일부 특성은 "yes" 또는 "no" 값을 승인하며 일부 특성은 열거라고 하는 옵션 목록에서 값을 승인하며 일부 특성은 배열 리터럴을 승인합니다. 대부분의 경우 변수 또는 상수를 특성 값으로 사용할 수 없습니다. 다시 말해서, 통화 특성 값에 대해 "예" 또는 "아니오"로 설정된 부울 변수 또는 문자열 변수를 사용할 수 없습니다. 리터럴의 인용되지 않은 "예" 또는 "아니오" 값을 지정해야 합니다.
그러나 일부 특성에서 변수 또는 파트의 이름을 값으로 제공해야 합니다. 이 경우 특성이 변수 또는 파트의 값을 사용하지 않으며 변수 또는 파트 자체를 참조합니다.
일부 특성은 이전 버전 또는 마이그레이션된 코드와의 호환성을 위해 제공되며 새 EGL 애플리케이션에는 필요하지 않습니다. 새 코드에 제공되는 특성 및 호환성에 사용되는 특성을 알려면 특정 파트 및 해당 특성을 다루는 EGL 언어 참조 주제를 참조하십시오.
특성 상속 및 대체
DataItem myRedVar int {color = red} end
Record myRedRecord type BasicRecord
myField myRedVar;
end
이 경우 myField 필드는
color 특성을 지정한
경우에서와 같이 동작합니다.myRedInt int {color = red};
myBlueInt int {color = blue};
myBlueInt = myRedInt;
이 경우에도 myBlueInt에는
blue로 설정한 color 특성이 있습니다.참조 변수는 특성 전송에 대한 예외입니다. EGL 언어 참조에서 "특성"을 참조하십시오.
DataItem myRedVar int {color = red} end
Record myBlueRecord type BasicRecord
myField myRedVar {color = blue};
end
이 경우 필드 myField가
red 값을 blue 값으로 대체합니다.myBlueVar int {color = red, color = blue};
이 경우
두 번째 정의가 첫 번째 정의를 대체하므로
변수의 color 특성은
blue로 설정됩니다.