So erstellen Sie Variablennamen abhängig von der Schleifennummer<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo
Ich versuche, Variablen dynamisch zu erstellen, je nachdem, wie oft meine Schleife ausgeführt wird. Wie kann ich das machen?
Beispiel
for(i=1, i
//Hier kommt etwas Code hin
var || i = aktuelle Datentabelle(); //Das funktioniert offensichtlich nicht, aber ich hoffe, Sie verstehen, worauf es ankommt. Irgendwann hätte ich gerne var1, var2, var3 usw., bis die Schleife fertig ist
)
Macht das Sinn?
Danke
Betreff: So erstellen Sie Variablennamen abhängig von der SchleifennummerWarum für jede Referenz eine neue Variable erstellen? Warum speichern Sie die Datentabellenreferenz nicht in einer Liste für den Zugriff per Index oder in einem assoziativen Array für den Zugriff per Schlüssel?
Betreff: So erstellen Sie Variablennamen abhängig von der Schleifennummeroh schön.... vielen Dank. Eine weitere Sache, die ich in JMP lernen muss ...
Betreff: So erstellen Sie Variablennamen abhängig von der SchleifennummerJa, schließen Sie jede Variable mit ^ ... ^ ein und schließen Sie die JSL-Anweisung ein Eval( Parse( Eval Insert("\[ ... ]\"))) Muster.
Der folgende Code legt beispielsweise Spezifikationsgrenzen für eine Spalte fest:
Open("$SAMPLE_DATA/Big Class.jmp");
cHeight = Column("height");
Column("height") << Set Property( "Spec Limits", {LSL(55), USL(75), Target(65)} );
Nehmen wir an, wir haben die folgenden Variablenzuweisungen, die wir verwenden möchten:
colName = "height";
niedriger = 55;
oben = 75;
Ziel = 40;
Dann können wir schreiben:
Eval( Parse( Eval Insert("\[
Column("^colName^") << Set Property( "Spec Limits", {LSL(^lower^), USL(^upper^), Target(^target^)} );
]\")))
-Dave
Betreff: So erstellen Sie Variablennamen abhängig von der SchleifennummerDave,
Ich habe diese Syntax noch nie zuvor gesehen. Umgibt das ^ eine Variable, die in den Text eingefügt werden soll?Ich hätte geschrieben:
tmp = "var" || char(i) || " = Aktuelle Datentabelle()";
eval(parse(tmp))
Dies ist offensichtlich weniger effizient als das, was Sie geschrieben haben.
Betreff: So erstellen Sie Variablennamen abhängig von der SchleifennummerGab es nicht letzte Woche bei der Advanced Scripting Panel-Diskussion auf der JMP Discovery-Konferenz einen Vortrag darüber? Es war ein großartiges Seminar. Ich frage mich, ob der Autor Notizen zu seinem Vortrag gepostet hat.
Betreff: So erstellen Sie Variablennamen abhängig von der Schleifennummerdanke Leute!
Betreff: So erstellen Sie Variablennamen abhängig von der SchleifennummerHier ist eine alternative Notation:
For( i = 1, i <= x, i++,
Eval( Parse( Eval Insert( "\[
var^i^ = Current Data Table()
]\" ) ) )
)
-Dave
Betreff: So erstellen Sie Variablennamen abhängig von der SchleifennummerAbdulj,
Hier ist eine Möglichkeit, Eval (Substitute ()) zu verwenden.
// 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