Uso delle variabili composte e dei gambi
employee potrebbe contenere nomi come i seguenti:EMPLOYEE
(1) Adams, Joe
(2) Crandall, Amy
(3) Devon, David
(4) Garrison, Donna
(5) Leone, Mary
(6) Sebastian, Isaac
In alcuni linguaggi informatici, per accedere a un elemento di una matrice si utilizza il numero dell'elemento. Ad esempio, employee(1) recupera Adams, Joe. In REXX si utilizzano variabili composte.
Che cos'è una variabile composta?
È possibile utilizzare le variabili composte per creare un array o un elenco di variabili in REXX. Una variabile composta, ad esempio: employee.1, è costituita da un gambo e da una coda.
FRED.
Array.
employee.Una coda è simile a un pedice. Segue il gambo e consiste in parti aggiuntive del nome che possono essere simboli costanti (come in employee.1 ), simboli semplici (come in employee.n ) o nulli. Pertanto, in REXX, i pedici non devono necessariamente essere numerici. Una variabile composta contiene almeno un periodo con caratteri su entrambi i lati. Ecco altri esempi di variabili composte:FRED.5
Array.Row.Col
employee.name.phone
employee.7='Amy Martin'
new=7
employee.new='May Davis'
say employee.7 /* Produces: May Davis */Come per le altre variabili REXX, se non è stato precedentemente assegnato un valore a una variabile in coda, essa assume il valore del proprio nome in maiuscolo.first = 'Fred'
last = 'Higgins'
name = first.last /* NAME is assigned FIRST.Higgins */
/* The value FIRST appears because the */
/* variable FIRST is a stem, which */
/* cannot change. */
SAY name.first.middle.last /* Produces NAME.Fred.MIDDLE.Higgins */
DO i = 1 TO 6
PARSE PULL employee.i
END
employee.1 = 'Adams, Joe'
employee.2 = 'Crandall, Amy'
employee.3 = 'Devon, David'
employee.4 = 'Garrison, Donna'
employee.5 = 'Leone, Mary'
employee.6 = 'Sebastian, Isaac'Dopo che i nomi sono stati inseriti nel gruppo delle variabili composte, è possibile accedere facilmente a un nome tramite il suo numero o tramite una variabile che rappresenta il suo numero.name = 3
SAY employee.name /* Produces 'Devon, David' */
Per ulteriori informazioni sulle variabili composte, vedere Simboli composti.
Utilizzo di steli
Quando si lavora con variabili composte, è spesso utile inizializzare un intero insieme di variabili con lo stesso valore. È possibile farlo facilmente utilizzando un incarico che includa un gambo. Ad esempio, number.=0 inizializza tutti gli elementi dell'array denominato number. a 0.
Nobody, utilizzare la seguente istruzione di assegnazione: employee. = 'Nobody'
employee., precedentemente assegnate o meno, hanno il valore Nobody. Dopo l'assegnazione di uno stelo, è possibile assegnare nuovi valori alle singole variabili composte.employee.='Nobody'
SAY employee.5 /* Produces 'Nobody' */
SAY employee.10 /* Produces 'Nobody' */
SAY employee.oldest /* Produces 'Nobody' */
employee.new = 'Clark, Evans'
SAY employee.new /* Produces 'Clark, Evans' */
È possibile utilizzare i gambi con i comandi EXECIO e RFS quando si legge e si scrive da un file. Vedere EXECIO e RFS. RFS è il metodo di I/O preferito in CICS®.
Esercizi - Utilizzo delle variabili composte e dei peduncoli
- Dopo queste istruzioni di assegnazione, cosa producono le seguenti istruzioni SAY?
a = 3 /* assigns '3' to variable 'A' */ d = 4 /* '4' to 'D' */ c = 'last' /* 'last' to 'C' */ a.d = 2 /* '2' to 'A.4' */ a.c = 5 /* '5' to 'A.last' */ z.a.d = 'cv3d' /* 'cv3d' to 'Z.3.4' */- DIRE a
- DIRE D
- DIRE c
- DIRE a.a
- DIRE A.D
- DIRE d.c
- DICHIARAZIONE c.a
- DIRE a.first
- DICHIARAZIONE z.a.4
- Dopo queste istruzioni di assegnazione, quale output producono le istruzioni SAY?
hole.1 = 'full' hole. = 'empty' hole.s = 'full'- DIRE hole.1
- DIRE hole.s
- DIRE hole.mouse
- 3
- 4
- Ultimo
- A.3
- 2
- D.last
- C.3
- A.FIRST
- cv3d
- vuoto
- completo
- vuoto