동적 배열 함수

각각의 동적 배열에 대해 암시적으로 정의된 함수 세트를 사용할 수 있습니다. 이 함수 중 다수는 1차원 배열과 다차원 배열의 첫 번째 차원 중 하나에서만 작동합니다. 다음 예제를 생각해 보십시오.
  myIntArray INT[][] = [ [ 1,2], [3,4,5], [6,7,8,9] ]  ;
1차원 배열 제한사항을 일시적으로 해결할 수 있습니다. 다음과 같은 함수를 호출할 때는 동적 배열의 이름으로 함수 이름을 규정합니다. 배열의 이름은 각각 색인을 포함하고 있는 대괄호 쌍을 포함할 수 있습니다. 예를 들어, 다음과 같습니다.
  // remove element [3][2] (with the value 7)
  myIntArray[3].removeElement(2);

  // remove element [2] (entire row with the value [3,4,5])
  myIntArray.removeElement(2);

다음 절에서는 arrayName을 배열의 이름으로 대체하십시오.

appendAll()

  arrayName.appendAll(appendArray Array in)
이 함수는 다음과 같은 작업을 수행합니다.
  • appendArray가 참조하는 배열의 요소를 복사하여 arrayName이 참조하는 배열에 추가합니다.
  • 추가된 요소의 수만큼 배열 크기를 증가시킵니다. 새 크기가 배열의 최대 크기를 초과하는 경우 EGL에 RuntimeException이 발생합니다.
  • 각각의 추가된 요소에 적절한 색인 값을 지정합니다.

appendArray의 요소는 arrayName의 요소와 동일한 유형이어야 합니다.

appendElement()

  arrayName.appendElement(content ArrayElement in)

이 함수는 요소를 지정된 배열의 끝에 배치하고 배치의 크기를 1씩 증분합니다. 추가하는 컨텐츠는 호환 가능한 유형을 가진 모든 표현식일 수 있습니다.

리터럴 지정을 위한 규칙이 "지정"에서 지정됩니다.

getMaxSize()

  arrayName.getMaxSize ( ) returns (INT)

이 함수는 maxSize 특성에 의해 설정되거나 setMaxSize()를 사용하여 설정된 대로 배열에서 허용되는 현재 최대 요소 수를 표시하는 정수를 리턴합니다. 다차원 배열의 경우 이 값은 첫 번째 차원에만 적용됩니다.

getSize()

  arrayName.getSize ( ) returns (INT)

이 함수는 배열에 현재 있는 요소의 수를 표시하는 정수를 리턴합니다. 다차원 배열의 경우 이 값은 첫 번째 차원에만 적용됩니다. 동적 배열에 대해 작업하는 경우에는 sysLib.size() 대신 이 함수를 사용하는 것이 좋습니다.

insertElement()

  arrayName.insertElement (content ArrayElement in, index INT in)
이 함수는 다음과 같은 작업을 수행합니다.
  • 지금 배열에서 지정된 위치에 있는 요소 앞에 요소를 배치합니다.
  • 배열 크기를 1씩 증분시킵니다. 새 크기가 배열의 최대 크기를 초과하는 경우 EGL에 RuntimeException이 발생합니다.
  • 삽입된 요소 뒤 각 요소의 색인을 증분시킵니다.

content는 배열에 대해 적합한 유형의 새 컨텐츠이며 index는 새 요소의 위치를 표시합니다.

index가 배열의 요소 수보다 1이 많은 경우 해당 함수는 배열의 끝에서 새 요소를 작성하고 배열 크기를 1씩 증분시키며 이는 appendElement() 함수를 호출하는 것과 동등합니다. index가 1 미만이거나 배열 크기에 1을 더한 값보다 큰 경우 EGL에 IndexOutOfBoundsException이 발생합니다.

removeAll()

  arrayName.removeAll( )

이 함수는 메모리에서 배열의 요소를 제거합니다. 배열을 사용할 수 있지만 배열의 크기는 0(영)입니다.

removeElement()

  arrayName.removeElement(index INT in)

이 함수는 지정된 위치에서 요소를 제거하고 배열 크기를 1씩 감소시키고 제거된 요소 뒤에 있는 각 요소의 색인을 감소시킵니다.

index는 제거될 요소의 위치를 표시합니다. index가 1 미만이거나 배열의 크기보다 큰 경우 EGL에 IndexOutOfBoundsException이 발생합니다.

resize()

  arrayName.resize(size INT in)

이 함수는 배열의 현재 크기를 size에서 지정된 크기로 늘리거나 줄입니다. size의 값이 배열에 대해 허용되는 최대 크기보다 큰 경우 EGL에 RuntimeException이 발생합니다.

resizeAll()

  arrayName.resizeAll(sizes INT[] in)

이 함수는 다차원 배열의 모든 차원을 확장하거나 축소합니다. sizes 매개변수는 각각의 연속 요소가 연속 차원의 크기를 지정하는 정수의 배열입니다. 크기 조정된 차원의 수가 arrayName의 차원 수보다 많거나 sizes에 있는 요소의 값이 arrayName의 동등한 차원에서 허용되는 최대 크기보다 큰 경우 EGL에 RuntimeException이 발생합니다.

배열의 크기를 축소하면 더 높은 번호가 매겨진 요소가 제거되고 해당 값이 유실됩니다.

setElementsEmpty()

  arrayName.setElementsEmpty ()

이 함수는 배열에서 이동하여 배열의 각 요소를 해당 초기 상태로 변경합니다. 초기값에 대한 자세한 정보는 데이터 초기화의 내용을 참조하십시오.

setMaxSize()

  arrayName.setMaxSize (size INT in)

이 함수는 배열에서 허용되는 요소의 최대 수를 설정합니다. 최대 크기를 배열의 현재 크기보다 작은 값으로 설정하면 EGL에 RuntimeException이 발생합니다.

setMaxSizes()

  arrayName.setMaxSizes(sizes INT[] in)

이 함수는 다차원 배열의 모든 차원을 설정합니다. sizes 매개변수는 각각의 연속 요소가 연속 차원의 최대 크기를 지정하는 정수의 배열입니다. 지정된 차원의 수가 arrayName의 차원 수보다 많거나 sizes에 있는 요소의 값이 arrayName의 동등한 차원에 있는 요소의 현재 수보다 작은 경우 EGL에 RuntimeException이 발생합니다.