Rexx - Arrays
Gli array in qualsiasi linguaggio di programmazione consentono di raggruppare un elenco di valori dello stesso tipo. L'uso degli array è che ti permette di costruire un elenco di tipi simili di valori che sonosortable, searchable e può essere easily manipulated. Rexx consente anche di definire array. Questi array possono essere unidimensionali o multidimensionali.
Gli array Rexx possono essere sparsi. Cioè, non tutte le posizioni dell'array devono avere un valore o addirittura essere inizializzate. Possono esserci posizioni di array vuote, o slot, tra quelli che contengono elementi di dati. Oppure gli array possono essere densi, in cui slot di array consecutivi contengono tutti elementi di dati.
In molti linguaggi di programmazione, devi preoccuparti di quale sia il pedice della prima voce in una tabella. Il primo pedice numerico è 0 o 1? In Rexx, il primo pedice è quello che usi! Quindi, inserisci il primo elemento dell'array nella posizione 0 o 1 come preferisci.
array_name.0 = ‘first element’
o
array_name.1 = ‘first element’
Diamo un'occhiata alle diverse operazioni disponibili per gli array.
Creazione di array
Gli array vengono creati con la stessa convenzione di denominazione utilizzata per le variabili in Rexx.
La sintassi generale per la creazione di array è la seguente:
Arrayname.index = value
dove
Arrayname - Questo è il nome fornito all'array.
Index - Questa è la posizione dell'indice nell'array per fare riferimento a un elemento specifico.
Value - Questo è il valore assegnato all'elemento index nell'array.
Un esempio di una dichiarazione di matrice è il seguente:
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
I seguenti punti devono essere annotati riguardo al programma di cui sopra:
- Il nome dell'array viene fornito come elenco
- Ci sono 3 elementi dell'array che vengono inizializzati con il valore 0.
Assegnazione di valori a un elemento array
I valori possono essere riassegnati agli elementi dell'array nello stesso modo in cui vengono inizializzati gli elementi dell'array.
Il seguente programma è un esempio di valori che possono essere assegnati a vari valori di indice di un array esistente.
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
/* Assigning new values to the array*/
list.1 = 10
list.3 = 30
Visualizzazione dei valori di una matrice
I valori di un array possono essere visualizzati facendo riferimento alla posizione di indice dell'elemento array. L'esempio seguente mostra come accedere a vari elementi dell'array.
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
/* Assigning new values to the array*/
list.1 = 10
list.3 = 30
say list.1
say list.2
say list.3
L'output del programma di cui sopra sarà il seguente:
10
0
30
Copia di array
Tutti gli elementi di un array possono essere copiati su un altro array. La sintassi generale di questo è la seguente:
Newarray. = sourcearray.
dove
Newarray - Questo è il nuovo array in cui devono essere copiati gli elementi.
Sourcearray - Questo è l'array di origine da cui è necessario copiare gli elementi.
Un esempio di come possono essere eseguite le operazioni di copia per array è mostrato nel seguente programma:
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
/* Assigning new values to the array*/
list.1 = 10
list.3 = 30
listnew. = list.
say listnew.1
say listnew.2
say listnew.3
L'output del programma di cui sopra sarà:
10
0
30
Iterazione attraverso gli elementi dell'array
Gli elementi di un array possono anche essere iterati utilizzando le istruzioni iterative disponibili in Rexx. Un esempio di come questo può essere fatto è il seguente:
Example
/* Main program */
list.1 = 10
list.2 = 20
list.3 = 30
number_of_elements = 3
do j = 1 to number_of_elements
say list.j
end
I seguenti suggerimenti devono essere annotati sul programma di cui sopra:
Il do loop viene utilizzato per scorrere gli elementi dell'array.
La variabile number_of_elements viene utilizzato per memorizzare il numero di elementi nell'array.
Il variable j viene utilizzato per scorrere ogni elemento dell'array.
L'output del programma di cui sopra sarà:
10
20
30
Array bidimensionali
È stato anche detto che possiamo costruire array multidimensionali in Rexx. Diamo un'occhiata a un esempio di come possiamo implementare un array bidimensionale.
Example
/* Main program */
list.1 = 10
list.1.1 = 11
list.1.2 = 12
say list.1
say list.1.1
say list.1.2
L'output del programma sopra sarà mostrato come segue:
10
11
12
Il seguente punto deve essere notato sul programma di cui sopra:
Per creare un array multidimensionale, possiamo utilizzare un altro livello di indicizzazione. Quindi nel nostro esempio, abbiamo usatolist.1.1 per creare un altro array interno per il valore di indice 1 dell'array list.