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 des variables dynamiquement en fonction du nombre de fois où ma boucle s'exécute. Comment puis-je procéder?
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 comprenez l'idée. J'aimerais é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 de ^ ... ^ et insérez l'instruction jsl dans le Eval( Analyser( Eval Insert("\[ ... ]\"))) modèle.
Par exemple, le code suivant définit les limites des spécifications pour une colonne :
Ouvrir("$SAMPLE_DATA/Big Class.jmp");
cHauteur = Colonne("hauteur");
Column("height") << Set Property( "Spec Limits", {LSL(55), USL(75), Target(65)} );
Disons que nous avons les affectations de variables suivantes que nous aimerions utiliser :
colName = "hauteur";
inférieur = 55 ;
supérieur = 75 ;
cible = 40 ;
On peut alors écrire :
Eval( Analyser( 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 boucleDave,
Je n'ai jamais vu cette syntaxe auparavant, le ^ entoure-t-il une variable à inclure dans le texte ?J'aurais écrit :
tmp = "var" || char(je) || " = Table de données actuelle ()" ;
eval(analyser(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 du panel de discussion 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 boucleAbdoulj,
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