Come creare nomi di variabili in base al numero di loop<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao
Sto cercando di creare variabili in modo dinamico a seconda del numero di volte in cui viene eseguito il mio ciclo. Come posso fare questo?
Esempio
for(i=1, i
//qualche codice va qui
var || i = tabella dati corrente(); //Questo ovviamente non funziona, ma spero che tu abbia l'idea. Alla fine vorrei avere var1, var2, var3, ecc... fino a quando il ciclo non è terminato
)
Questo ha senso?
Grazie
Re: Come creare nomi di variabili in base al numero di loopPerché creare una nuova variabile per ogni riferimento? Perché non memorizzare il riferimento alla tabella dei dati in un elenco per l'accesso per indice o un array associativo per l'accesso per chiave?
Re: Come creare nomi di variabili in base al numero di loopoh bello .... grazie mille. Un'altra cosa che devo imparare in JMP...
Re: Come creare nomi di variabili in base al numero di loopSì, racchiudi ogni variabile con ^ ... ^ e fai in modo che l'istruzione jsl sia racchiusa in Eval( Parse( Eval Inserisci("\[ ... ]\"))) modello.
Ad esempio, il codice seguente imposta i limiti delle specifiche per una colonna:
Open("$SAMPLE_DATA/Big Class.jmp");
cHeight = Colonna("altezza");
Column("height") << Set Property( "Spec Limits", {LSL(55), USL(75), Target(65)} );
Supponiamo di avere le seguenti assegnazioni di variabili che vorremmo utilizzare:
colName = "altezza";
inferiore = 55;
superiore = 75;
obiettivo = 40;
Allora possiamo scrivere:
Eval( Parse( Eval Inserisci("\[
Column("^colName^") << Set Property("Spec Limits", {LSL(^lower^), USL(^upper^), Target(^target^)});
]\")))
-Dave
Re: Come creare nomi di variabili in base al numero di loopDave,
Non ho mai visto quella sintassi prima, ^ circonda qualche variabile da includere nel testo?io avrei scritto:
tmp = "variante" || car(i) || " = Tabella dati corrente()";
eval(analisi(tmp))
Questo è ovviamente meno efficiente di quello che hai scritto.
Re: Come creare nomi di variabili in base al numero di loopNon c'è stato un discorso su questo durante la discussione dell'Advanced Scripting Panel alla conferenza JMP Discovery la scorsa settimana? È stato un ottimo seminario, mi chiedo se l'autore abbia postato qualche appunto sul suo intervento.
Re: Come creare nomi di variabili in base al numero di loopgrazie ragazzi!
Re: Come creare nomi di variabili in base al numero di loopEcco una notazione alternativa:
For( i = 1, i <= x, i++,
Eval( Parse( Eval Insert( "\[
var^i^ = Current Data Table()
]\" ) ) )
)
-Dave
Re: Come creare nomi di variabili in base al numero di loopAbdulj,
Ecco un modo per usare Eval ( Sostituto ( ))
// dv = dummy variable
x = 10;
For( i = 1, i <= x, i++,
Eval(
Substitute(
Expr(
dv_variable = i;
Show( dv_variable );
),
Expr( dv_variable ), Parse( "Variable Name " || Char( i ) )
)
)
);
Michael