LOTUSSCRIPT 言語
動的配列を宣言して領域を確保したり、既存の動的配列のサイズを変更します。
構文
ReDim [ Preserve ] arrayName ( bounds ) [ As type]
[ , arrayName ( bounds ) [ As type ] ] ...
要素
Preserve
[ lowerBound To ] upperBound
lowerBound はその次元に指定できるサブスクリプトの下限値で、upperBound は上限値です。lowerBound を指定しないと、配列要素の最小の既定は Option Base ステートメントで 1 に変更しない限りゼロです。
配列の範囲は -32768 以上 32767 以下の値です。
すでに存在する配列の型は変更できません。arrayName が以前に宣言されていて type をこの ReDim ステートメントに記述するには、type を元の arrayName の型と同じにします。
ReDim ステートメントは動的配列の保存領域を確保します。ReDim ステートメントを必要なだけ使用して配列のサイズを任意に変更できます。配列のサイズを変えるたびに、LotusScript によって配列の領域が再確保されます。
Dim ステートメントと異なり、ReDim は配列に Private、Public、Static の指定ができません。これらの属性を動的配列に指定するには、最初の Dim ステートメント内で宣言します。動的配列を Dim ステートメントで宣言すると、LotusScript は配列要素の領域を確保しません。実際には ReDim を使用して領域を確保するまで、スクリプトでその配列は使用できません。
配列は 8 次元まで指定できます。最初の ReDim ステートメントで配列の次元数を配列に設定します。以降の ReDim ステートメントは各次元の上限と下限を変更できますが、次元数は変更できません。
Preserve が指定されていると、配列の最後の次元の上限値のみが変更できます。他の部分を変更しようとするとエラーとなります。
Dim ステートメントですでに宣言されて領域が割り当てられている固定長配列に ReDim は使用できません。
配列の配列であるコンテナ変数に ForAll を使用するときは、参照変数を ReDim しないでください。「不正な ReDim」エラーとなります。
例 関連項目