Directives

REDIM

Re-Dimension Array

Formats

1.

Re-dimension Array:

REDIM array_name [$] (subscript_1[,subscript_2[,subscript_3]])

2.

Insert Array Indices:

REDIM INSERT array [$] [index:count ]

3.

Delete Array Indices:

REDIM DELETE array [$] [index:count ]

Where:

array_name[$]

Numeric or string variable to be dimensioned as an array.

subscript_1

1st dimensions (minimum:maximum) of array. Numeric expression, integers.

subscript_2

2nd dimensions (minimum:maximum) of array. Numeric expression, integers.

subscript_3

3rd dimensions (minimum:maximum) of array. Numeric expression, integers.

array

String or numeric array.

index:count

Numeric index at which the element or range of elements will be inserted or deleted. If countis omitted, it will default to 1. Multiple dimensions could be specified as:

     REDIM INSERT array [index:count, index:count, index:count ]
     REDIM DELETE array [index:count, index:count, index:count ]

For array dimensions that you do not want changed, set count to zero.

Description

The REDIM directive is used to re-dimension an array without destroying data already contained within the array. All existing data is preserved in the exact same location within the re-dimensioned array. This directive will work on string or numeric arrays.

The REDIM INSERT directive is used to insert either a single element at the specified index or a range of elements.

The REDIM DELETE directive is used to delete the specified index or range of indices.

Note:
Data in array elements that do not exist in the re-dimensioned array are discarded.

The REDIM INSERT and REDIM DELETE directives do not work on associative arrays and will generate errors if the insertion/deletion index does not exist or if you attempt to delete elements that do not exist.

(The REDIM INSERT and REDIM DELETE directives were added in PxPlus 2021.)

See Also

DIM Define Arrays and Strings
DIM( ) Generate String/Get Array Size

Example

dim X[1:10]
X[5]=5,X[6]=6
redim X[-5:20,4]

X[5,0] has 5 and X[6,0] has 6 because the default second index is 0; i.e. the original dimension was effectively the same as X[1:10,0:0,0:0].