Legato
Legato

GoFiler Legato Script Reference

 

Legato v 1.5b

Application v 5.24b

  

 

Chapter ThreeData Types and Operators (continued)

ArrayGetAxisDepth Function

Overview

The ArrayGetAxisDepth function returns the number of elements used within a complete array or a specific axis.

Syntax/Parameters

Syntax

int = ArrayGetAxisDepth ( variable name, [int axis] );

Parameters

name

A name of a variable, which must be an array.

axis

An optional int specifying the axis to measure. The following are possible values:

Define Value Description
AXIS_X/AXIS_ROW 0 X dimension (rows)
AXIS_Y/AXIS_COL 1 Y dimension (columns)
AXIS_Z 2 Z dimension
AXIS_ALL -1 All axes

 

The default value is AXIS_X. Use -1 to retrieve the number of elements allocated for all dimensions of the array.

Return Value

Returns an int specifying the number of elements used or -1 on failure. Use the GetLastError function to retrieve a formatted error code.

Remarks

The depth is the highest index used. This number can be less than the number of elements allocated. An element is considered ‘used’ once it has been either referenced or assigned a value. If referenced as an index, all items with a lower value will also be considered used. For example:

        string          list[200];
        int             x1, x2, x3, size;
        
        size = ArrayGetAxisSize(list);
        x1 = ArrayGetAxisDepth(list);
        list["first"] = "My String";
        x2 = ArrayGetAxisDepth(list);
        list[16] = "Farther in list";
        x3 = ArrayGetAxisDepth(list);
        
        MessageBox('I', "Size: %d\rBefore: %d\rOne key: %d\rSet at '16': %d", size, x1, x2, x3);

The result will be:

When retrieving all axis, each dimension is multiplied for a total number of elements.

Related Functions

Platform Support

Go13, Go16, GoFiler Complete, GoFiler Corporate, GoFiler, GoFiler Lite, GoXBRL

Legato IDE, Legato Basic