사전 특성
다음 예제와 같이 각각의 특성/값 항목은 키/값 항목과 구문상 동등합니다.
항목은 임의의 순서로 배치될 수 있습니다.
myRef Dictionary
{
// properties
caseSensitive = no,
ordering = none,
// key/value pairs
ID = 5,
lastName = "Twain",
firstName = "Mark",
age = 30
};
코드는 특성 또는 해당 값을 추가하고 검색할 수 없습니다.
다음과 같은 특성을 사용할 수 있습니다.
- caseSensitive
- 대소문자가 키 액세스에 영향을 미치는지 여부를 표시합니다. 다음과 같은
옵션을 사용할 수 있습니다.
- NO(기본값)
- 키의 대소문자가 키 액세스에 영향을 미치지 않습니다. 다음의 명령문은
동등합니다.
age = row.age; age = row.AGE; age = row["aGe"]; - YES
- EGL은 기본적으로 대소문자를 구분하지 않는 언어이지만 다음 명령문의
결과는 다를 수 있습니다.
age = row.age; age = row.AGE; age = row["aGe"];
caseSensitive 특성의 값은 사전 함수에서 설명된 몇몇 함수의 동작에 영향을 미칩니다.
- ordering
- 검색하는 키의 순서를 판별합니다. 이 특성의 값은 getKeys() 및 getValues() 함수의 동작에 영향을 미칩니다. 자세한 정보는 사전 함수를 참조하십시오. 이 특성의 값은 사전이 키를 저장하는 방식(항상 사용자가 키를 입력한 순서로 저장함)에 영향을 미치지 않지만 키를 검색하는 순서에는 영향을 미칩니다.
- OrderingKind 열거를 사용하여 이 특성의
값을 지정하십시오. OrderingKind 열거는
다음과 같은 값을 가지고 있습니다.
- none(기본값)
- 코드가 키/값 항목의 순서를 신뢰할 수 없습니다. getKeys() 함수를 호출할 때 키의 순서가 getValues() 함수를 호출할 때의 값 순서와 일치하지 않을 수 있습니다.
- byInsertion
- getKeys()는 키를 리턴하고 getValues()는 키를 삽입한 순서의 값을 리턴합니다. 선언의 항목은 왼쪽에서 오른쪽 순서로 먼저 삽입되는 것으로 간주됩니다.
- byKey
- getKeys()는 키를 리턴하고 getValues()는 키 순서의 값을 리턴합니다. (이 주제의 이후 부분에서 "호환성"을 참조하십시오.)
호환성
| 플랫폼 | 문제 |
|---|---|
| COBOL 생성 | 사전 파트가 지원되지 않습니다. |