Comment créer des noms de variables en fonction du numéro de boucle<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour
J'essaie de créer dynamiquement des variables en fonction du nombre d'exécutions de ma boucle. Comment puis-je faire cela?
Exemple
pour(i=1, i
// du code va ici
var || i = table de données actuelle(); // Cela ne fonctionne évidemment pas, mais j'espère que vous avez saisi l'idée. Je voudrais éventuellement avoir var1, var2, var3, etc ... jusqu'à ce que la boucle soit terminée
)
Est-ce que ça a du sens?
Merci
Re : Comment créer des noms de variables en fonction du numéro de bouclePourquoi créer une nouvelle variable pour chaque référence ? Pourquoi ne pas stocker la référence de la table de données dans une liste pour un accès par index ou un tableau associatif pour un accès par clé ?
Re : Comment créer des noms de variables en fonction du numéro de boucleoh sympa .... merci beaucoup. Une autre chose que je dois apprendre dans JMP ...
Re : Comment créer des noms de variables en fonction du numéro de boucleOui entourez chaque variable avec ^ ... ^ et ayez l'instruction jsl incluse dans le Eval( Parse( Eval Insert("\[ ... ]\"))) motif.
Par exemple, le code suivant définit des limites de spécification pour une colonne :
Open("$SAMPLE_DATA/Big Class.jmp");
cHauteur = Colonne("hauteur");
Column("height") << Set Property( "Spec Limits", {LSL(55), USL(75), Target(65)} );
Supposons que nous ayons les affectations de variables suivantes que nous aimerions utiliser :
nomCol = "hauteur" ;
inférieur = 55 ;
supérieur = 75 ;
cible = 40 ;
On peut alors écrire :
Eval( Parse( Eval Insert("\[
Column("^colName^") << Set Property( "Spec Limits", {LSL(^lower^), USL(^upper^), Target(^target^)} );
]\")))
-Dave
Re : Comment créer des noms de variables en fonction du numéro de boucleDavid,
Je n'ai jamais vu cette syntaxe auparavant, le ^ entoure-t-il une variable à inclure dans le texte ?j'aurais écrit :
tmp = "var" || caractère(i) || " = Tableau de données actuel () " ;
eval(analyse(tmp))
C'est évidemment moins efficace que ce que vous avez écrit.
Re : Comment créer des noms de variables en fonction du numéro de boucleN'y a-t-il pas eu une discussion à ce sujet lors de la discussion du panel sur les scripts avancés lors de la conférence JMP Discovery la semaine dernière ? C'était un excellent séminaire, je me demande si l'auteur a posté des notes sur son discours.
Re : Comment créer des noms de variables en fonction du numéro de boucleMerci les gars!
Re : Comment créer des noms de variables en fonction du numéro de boucleVoici une notation alternative :
For( i = 1, i <= x, i++,
Eval( Parse( Eval Insert( "\[
var^i^ = Current Data Table()
]\" ) ) )
)
-Dave
Re : Comment créer des noms de variables en fonction du numéro de boucleAbdulj,
Voici une façon d'utiliser 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