ARRAY { <indextype> "," ... } OF <slottype> ";"
<indextype>
must be an ordinal type (see section Ordinal Types). The
common case is an integer subrange such as [1..numslots], but Modula-3
programs frequently use user-defined enumerations as well.
<slottype>
can be any Modula-3 type, even another
array.
Here are some examples of array types:
TYPE OneDimArray = ARRAY [1..20] OF REAL; OneDimArray2 = ARRAY ['A'..'Z'] OF INTEGER; TwoDimArray = ARRAY [1..20], [1..40] OF BOOLEAN; TwoDimArray2 = ARRAY [1..20] OF ARRAY [1..40] OF BOOLEAN;
The built-in functions FIRST
, LAST
, and NUMBER
can
be used with array types and variables to return the index of the first
and last slot and number of slots, respectively. For example,
FIRST(OneDimArray)
= 1; NUMBER(OneDimArray2)
= 26.