사전 파트
사전 파트에는 키를 통해 액세스할 수 있는 데이터의 목록이 포함되어 있습니다. 예를 들어, 데이터베이스에서 읽어온 키 및 메시지로 채워진 사전을 포함하는 메시지 처리 기능을 작성할 수 있습니다.
사전 파트는 항상 사용할 수 있으므로 정의하지 않습니다. 사전 파트를 기반으로 하는 변수에는 키 세트와 해당 관련된 값이 포함됩니다. 런타임 시 키/값 항목을 추가하고 제거할 수 있습니다. 레코드의 필드 이름과 마찬가지로 프로그램에서 키 이름을 사용하십시오. 사전 변수는 항목을 입력한 순서대로 항목을 보관합니다.
다음 예제에서는 사전 변수 선언을 보여줍니다.
myRef Dictionary
{
ID = 5,
lastName = "Twain",
firstName = "Mark"
};
선언에 항목을 포함하는 경우 각각의 키 이름은 EGL 이름 지정 규칙과 일치해야 하는 EGL ID입니다. 런타임 시 항목을 추가하면 유연성이 높아집니다. "동적 유형 및 동적 액세스"를 참조하십시오.
새 키/값 쌍을 사전에 추가하는 일부 예제 지정은 다음과 같습니다.
myRef.age = 30;
myRef["Credit"] = 700;
이미 존재하는 키를 지정하면 기존 키/값 항목이 대체됩니다.
다음 지정은 유효하며 "Twain"을 "Clemens"로 바꿉니다.
myRef.lastname = "Clemens";
지정을 사용하여 데이터를 검색할 수도 있습니다.
lastname STRING
age, credit INT;
lastname = myRef.lastname;
age = myRef["age"];
credit = myRef.credit;
키/값 항목에 있는 값은 ANY 유형이므로 다른 유형의 정보를 단일
사전에 넣을 수 있습니다. 다음과 같은 값을 사전 항목에 넣을 수 있습니다.
- 사전 선언된 레코드 또는 기타 변수
- 상수 또는 리터럴
사전에 변수를 추가하면 변수의 사본이 지정됩니다. 다음 레코드 파트를
생각해 보십시오.
Record ExampleRecord
x int;
end
다음 예제에서는 ExampleRecord 변수를 사전에 배치한 후 원래 변수의 값을 변경합니다.
testValue int;
myRecord ExampleRecord;
// sets a variable value and places
// a copy of the variable into the dictionary.
myRecord.x = 4;
myRef Dictionary
{
theRecord = myRecord
};
// Places a new value in the original record.
myRecord.x = 700;
// Accesses the dictionary's copy of the record,
// assigning 4 to testValue.
testValue = myRef.theRecord.x;
한 사전을 다른 사전에 지정하면 대상 컨텐츠가 소스 컨텐츠로 바뀌며
대상 사전의 특성이 대체됩니다(사전 특성 참조).
예를 들어, 다음 코드에 있는 조건문은 true입니다.
myRef Dictionary { age = 30 };
newRef Dictionary { age = 50 };
newRef = myRef;
// resolves to true
if (newRef.age == 30)
;
end
선언에서 지정할 수 있는 특성은 사전의 처리 방식에 영향을 미칩니다. "사전 특성"을 참조하십시오. 사전 특정 함수는 코드에 데이터 및 서비스를 제공합니다. "사전 함수"를 참조하십시오.
호환성
| 플랫폼 | 문제 |
|---|---|
| COBOL 생성 | 사전 파트가 지원되지 않습니다. |