Domanda

Sono abbastanza nuovo da rexx, roba davvero base qui, voglio ottenere rapidamente l'ultimo elemento di un array.

Apri oggetto Rexx 4.2.0 per Windows:

test.0=2
test.1="foo"
test.2="bar"
say test.[test.0]
.

==> output come ricercato:

bar
.


.

La mia ipotesi facile è che l'interprete rexx oggetto aperto è al lavoro.Le staffe quadre non possono essere utilizzate con Rexx su Z / OS.

1st roba che mi è venuta in mente (non è rtfm):

say test.test.0
say test.(test.0)
.

==> output non buono:

TEST.TEST.0
    5 *-* say test.(test.0)
Error 16 running Test.REX line 5:  Label not found
Error 16.1:  Label "SYNTAX" not found
.

C'è altri usi delle parentesi quadre? Perché provengono da C / Java / Python sto andando per test.test.0 o test. (Test.0) Come un manichino?

non riesce a trovare ulteriori informazioni sullo staffe square Uso in rexx di questo: # Reginald's TailEspressione

Allora sotto Z / OS per ora sono bloccato con:

temp=test.0
say test.temp
.

È stato utile?

Soluzione

Hai già trovato la risposta alla tua domanda.

L'unico modo in Mainframe Rexx (z / OS, Z / VSE, Z / VM) è come codificato sopra:

.
temp=test.0
say test.temp
.

La migliore documentazione per la comprensione di ciò che il rexx interprete può essere trovato nel riferimento Z / OS TSO / E Rexx in simboli composti (link v2.1). Descrive perché test.Test.0 non funzionerà, a causa di come l'interprete gestisce la linea; In questo caso, è alla ricerca di un test STEM.TEST.0.

Nota che puoi codificare

test.test.0 = 0
.

E avresti un test stelo valido.Test.0 (anche se probabilmente inutile nella maggior parte dei casi).

Il prossimo argomento nel collegamento discute le variabili staminali, che ha anche molte informazioni utili.

Consiglio vivamente di leggere sia il RIFERIMENTO Z / OS TSO / E REXX e GUIDA DELL'UTENTE Z / OS TSO / E REXX (entrambi i collegamenti V2.1).


.

Altri suggerimenti

Altre alternative rexx pure (non oggetto):

interpret "say test." || test.0
.

o

say value("test." || test.0)
.

L'interprete rexx predefinito su z / OS è classico rexx, non oorexx.Oorexx non è stato portato a z / os.

Tenere presente che (in z / OS, almeno) la variabile '.0' non viene aggiornata automaticamente.Ad esempio .:

list.1 = 17
list.2 = 12
say 'List.0 is' list.0
.

Dare "List.0", che è il valore predefinito (il nome della variabile) per una variabile inizializzata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top