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 per farlo?
Esempio
for(i=1, i
//del codice va qui
var || i = tabella dati corrente(); //Ovviamente questo non funziona, ma spero che tu abbia reso l'idea. Alla fine mi piacerebbe avere var1, var2, var3, ecc... fino al termine del ciclo
)
Ha senso ciò?
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 dati in un elenco per l'accesso tramite indice o un array associativo per l'accesso tramite chiave?
Re: Come creare nomi di variabili in base al numero di loopoh che 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 racchiudi l'istruzione jsl nel file Eval( Analizza( Eval Insert("\[ ... ]\"))) modello.
Ad esempio, il codice seguente imposta i limiti delle specifiche per una colonna:
Open("$SAMPLE_DATA/Big Class.jmp");
cAltezza = Colonna("altezza");
Colonna("altezza") << Imposta proprietà("Limiti specifiche", {LSL(55), USL(75), Target(65)});
Diciamo che abbiamo le seguenti assegnazioni di variabili che vorremmo utilizzare:
colName = "altezza";
inferiore = 55;
superiore = 75;
obiettivo = 40;
Allora possiamo scrivere:
Eval( Analizza( Eval Insert("\[
Column("^colName^") << Imposta proprietà( "Limiti specifiche", {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 qualsiasi variabile da includere nel testo?avrei scritto:
tmp = "var" || carattere(i) || " = Tabella dati corrente()";
eval(analizzare(tmp))
Questo è ovviamente meno efficiente di quello che hai scritto.
Re: Come creare nomi di variabili in base al numero di loopNon si è parlato di questo argomento alla discussione del panel sugli script avanzati alla conferenza JMP Discovery della settimana scorsa? È stato un seminario fantastico, mi chiedo se l'autore abbia pubblicato qualche nota sul suo discorso.
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 utilizzare Eval ( Substitute ( ))
// 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