動的配列関数

各動的配列では、暗黙的に定義された関数のセットを使用することができます。 これらの関数の多くが、1 次元配列、または多次元配列の最初の次元のみのいずれかで機能します。以下の例を考えてください。
  myIntArray INT[][] = [ [ 1,2], [3,4,5], [6,7,8,9] ]  ;
1 次元配列に限った例です。以下の任意の関数を呼び出す場合、関数名を動的配列名で修飾します。配列の名前に、大括弧で囲んだ 1 つの索引を組み込むこともできます。 例えば、次のようになります。
  // 要素 [3][2] を除去 (値 7 により除去)
  myIntArray[3].removeElement(2);

  // 要素 [2] を除去 (全体行を値 [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( )

この関数は、メモリーから配列の要素を除去します。配列を使用することはできますが、配列のサイズはゼロです。

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 は整数の配列で、連続したそれぞれの要素が、逐次 1 つの次元のサイズを指定します。 サイズ変更された次元数が arrayName 内の次元数より大きい場合、または sizes 内の要素の値が arrayName の相応の次元内で許容される最大サイズより大きい場合は、EGL が RuntimeException をスローします。

配列のサイズを小さくする場合は、数の大きい要素は除去されますが、その値は残ります。

setElementsEmpty()

  arrayName.setElementsEmpty ()

この関数は、配列全体を通じて、配列内の各要素をその初期状態に変更します。 初期値について詳しくは、データの初期化を参照してください。

setMaxSize()

  arrayName.setMaxSize (size INT in)

この関数は、その配列内で許容される要素の最大値を設定します。 この最大サイズをその配列の現行サイズより小さい値に設定した場合は、EGL が RuntimeException をスローします。

setMaxSizes()

  arrayName.setMaxSizes(sizes INT[] in)

この関数は、多次元配列のすべての次元を設定します。 パラメーター sizes は整数の配列で、連続したそれぞれの要素が、逐次 1 つの次元の最大サイズを指定します。 指定された次元数が arrayName 内の次元数より大きい場合、または sizes 内の要素の値が arrayName の相応の次元内で現行要素数より小さい場合は、EGL が RuntimeException をスローします。


フィードバック