Array annidati

Da Gambas-it.org - Wikipedia.

Un array "annidato" (Embedded array ) è una matrice che viene allocata direttamente all'interno della variabile di un oggetto array.
Essa non può essere locale, e pertanto va dichiarata prima della routine, all'esterno, come "globale ".

Le dimensioni ed il numero degli elementi della matrice annidata sono definiti con la notazione:

variabile[numero_elementi]

Al riguardo gli array "annidati" possono essere monodimensionali:

array[n]

o multidimensionali:

array[m, n]
array[m, n, z]
array[etc...]

Esempio:

' Viene dichiarata la matrice e definite le sue dimensioni ed il numero degli elementi:
Private bb[2, 3, 4] As Byte


Public Sub Main()

' Viene assegnato un valore ad uno specifico elemento:
 array[1, 2, 3] = 55
  
' Viene mostrato il numero complessivo degli elementi posseduti dal array annidato, nonché il valore assegnato ad uno specifico elemento:
 Print bb.Count, bb[1, 2, 3]

End

End

Riguardo ai valori assegnabili alle Enumerazioni si veda anche la pagina relativa alle Espressioni costanti.


Creazione di una matrice annidata

Nel seguente esempio definiamo un array "annidato" di due righe e due colonne per un totale di quattro elementi:

Private bb[3, 2] As Byte


Public Sub Main()   ' Scrive la matrice "annidata"

 Dim x, y As Byte
   
' Essendo bidimensionale l'array "annidato", ci serviamo di due cicli "For" per assegnare un valore a ciascun suo elemento:'
 For x = 0 To 2
   For y = 0 To 1
     bb[x, y] = x * y
   Next
 Next

' Infine legge i valori assegnati all'array "annidato":
 For x = 0 To 2
   For y = 0 To 1
     Print bb[x, y]
   Next
   Print "------"
 Next

End