Есть два типа массивов в Gambas:

"Java-подобные" массивы

Это объекты следующих классов:

Integer[], String[], Object[], Date[], Variant[].
Они имеют только одну размерность.

Вы объявляете (declare) их следующим образом: они всегда void вначале..

DIM MyArray AS NEW Integer[]
Они динамические, и имеют множество полезных методов, отностящихся к ним.

"Native" (родные) массивы

Вы объявляете их таким образом:

DIM MyArray[Dim1, Dim2, ... ] AS Integer/String/...

Вы может увеличить размерность до восьми.

Они НЕ объекты. Они размещаются в стеке, если вы объявляете их локальными для функции, или внутри данных объекта, если объявляете их глобальными.

Они НЕ динамические. Они не могут расти или уменьшаться после объявления. Вы можете только положить в них или взять из них данные.

(ответ Benoit в Gambas-user mailing list)

Пример 3d (трехмерного) родного массива

Массив заполняется целыми от 0 до 26

Вам нужна клавиша управления (commandbutton) на вашей форме, чтобы запустить это.

PUBLIC SUB Button1_Click()
DIM i AS Integer
DIM ii AS Integer
DIM iii AS Integer
DIM Matrix[3, 3, 3] AS Integer
FOR i = 0 TO 2
FOR ii = 0 TO 2
FOR iii = 0 TO 2
PRINT i, ii , iii
Matrix[i, ii, iii] = i*9 + ii*3 + iii
PRINT Matrix[i, ii, iii]
NEXT
NEXT
NEXT
END

-- ReinerHoffmann - 14 Feb 2004

-- NelsonFerraz - 30 Aug 2003