size()
sysLib.size() 시스템 함수는 지정된 데이터 테이블의 행 수 또는 지정된 배열의 요소 수를 리턴합니다. 배열은 구조 필드 배열이거나 변수 또는 레코드의 동적 배열입니다.
배열 이름(arrayName)이 다른 배열의 하위 구조화 요소에 있는 경우 리턴되는 값은 포함 구조의 총 발생 수가 아니라 구조 필드 자체의 요소 수입니다(이 주제에서 아래 "예제" 절 참조).
구문
sysLib.size(arrayName ANY in)
returns (result INT)
- arrayName
- 배열 또는 데이터 테이블의 이름입니다.
- result
- 지정된 데이터 테이블의 행 수 또는 지정된 배열의 요소 수(INT)입니다.
예제
다음 예제에서는 루프를 제어하기 위해 sysLib.size()에서 리턴한
값을 사용합니다.
// Calculate the sum of an array of numbers
sum = 0;
i = 1;
myArraySize = sysLib.size(myArray);
while (i <= myArraySize)
sum = myArray[i] + sum;
i = i + 1;
end
다음으로 아래 레코드 정의를 검토합니다.
Record ExampleRecord
10 siTop CHAR(40)[3];
20 siNext CHAR(20)[2];
end
ExampleRecord를 기반으로 레코드 변수를 작성하는 경우 sysLib.size(siNext)를 사용하여 하위 배열의 요소 수를 판별할 수 있습니다.
// Sets count to 2
count = sysLib.size(myRecord.siTop.siNext);
오류 조건
지정되지 않은 수의 요소가 있는 배열을 사용하여 함수를
호출하면 EGL이 다음과 같이 NullValueException을 예외 처리(throw)합니다.
myArray INT[];
size(myArray);
배열 또는 데이터 테이블이 아닌 변수를 참조하는 경우 유효성 검증 오류가 발생합니다.
호환성 고려사항
| 플랫폼 | 문제 |
|---|---|
| JavaScript 생성 | sysLib.size() 함수는 지원되지 않습니다. |