Array Function

Assigns a list of values to consecutive elements of an array.

Syntax

result = Array( ElementList )


Parameters

ElementList

Type

A comma-delimited list of values that are used to populate result. The data type of the items in ElementList should agree with the data type of the array result. If the items in ElementList are of different data types, such as Int32, UInt32, Int64 and so forth, Array will try to find the data type that can accommodate all the elements passed to it. The data type of the array that receives the elements must agree with this data type. Otherwise, you will get a Type Mismatch Error. See the examples in Notes.


Return Value

Result

Any

Name of the array that is populated with the items in ElementList.



Notes

The Array function provides the same functionality as separate assignment statements for each element of an array, beginning with element zero and proceeding consecutively. If there are more elements in the array than items in the list of elements, then the "extra" elements are not disturbed.

If the ElementList contains numeric data of different word lengths and/or a mixture of signed and unsigned integers, Array will use the lowest common data type that accommodates all the elements. This may break code that worked prior to the introduction of signed/unsigned integers and integers of different word lengths. For example, in versions of REALbasic prior to 2006, the statement:

Array( &h01, &h02 )

returned an array of integers.

Because hexadecimal numbers are unsigned integers, this expression now returns an array of UInt32s. This means that the following code will generate a Type Mismatch Error:

Dim i() as Integer
i = Array(&h1, &h2)

You need to be careful about word length and whether or not the integer is signed. In this instance, the following will compile:

Dim i() as UInt32
i = Array(&h1, &h2)

If you wish, you can also decide to convert one of the values to a signed integer. In that case, Array will return an Int32 (a.k.a., Integer) array. Use either of the following ways:

Dim i() as Integer
i = Array( Int32(&h1),&h2)

Or this:

Dim i() as Integer
i = Array(1,&h2)

Example

The following statement creates and populates the first three elements of the array aNames.

Dim aNames() as String
//using the Array function
aNames=Array("Fred","Ginger","Stanley")

See Also

Dim statement; Join, Split, Ubound functions; Append, IndexOf, Insert, Pop, Redim, Remove, Shuffle, Sort, Sortwith methods; ParamArray keyword