Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenvar=":Name\!"" || initCol || "\!"";
Ich versuche, eine String-Variable zu erstellen, die Folgendes enthalten würde: :Name("0")
Ich möchte schließlich Daten aus einer Spalte mit dem Namen „0“ extrahieren, weshalb ich versuche, diese Zeichenfolge in einer Variablen zu speichern. Die Ausgabe gibt mir jedoch Folgendes: var = ":Name(\!"0)\!"";
Anscheinend funktionieren meine Escape-Zeichen nicht richtig ... aber ohne die Escape-Zeichen kann ich meinen Code überhaupt nicht ausführen. Kann mir bitte jemand helfen? Könnte es möglicherweise eine bessere Möglichkeit geben, diese Spalte zu indizieren? Die „initCol“ enthält immer eine Zahl, die jedoch möglicherweise nicht immer 0 ist. Deshalb muss ich die interessierende Zahl in einer Variablen speichern, bevor ich die Spalte indiziere.
Danke!
Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenSie können „write“ nicht mit der Liste verwenden, da es sich nicht um eine Zeichenfolge handelt.Show enthält die Escape-Zeichen.
Wenn Sie write für ein Listenelement verwenden, werden Sie feststellen, dass die Zeichenfolge korrekt ist.
show(colsname, colsname2);
write("\!n" || colsName[1] || "\!n");
write(colsName2[1]);
Aus dem Protokoll:
colsname = {":Name(\!"0\!")"};
colsname2 = {":Name(\!"0\!")"};
:Name("0")
:Name("0")Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenJa, das ist richtig. Die Zeichenfolge ist :Name("0").
Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenHier sind die Ergebnisse bei Verwendung von write():
{":Name(\!"0\!")"}
{":Name(\!"0\!")"}
Das Problem sind die in meiner Liste neben der „0“ enthaltenen „\“. Das sollte nicht da sein.Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenJMP funktioniert ordnungsgemäß.Wenn Sie show oder print verwenden, werden die Escape-Zeichen für doppelte Anführungszeichen angezeigt.Wenn du benutzt schreiben() Stattdessen werden Sie sehen, dass die Werte korrekt sind.
Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenGibt es möglicherweise eine Einstellung, die ich in meinem JMP ändern muss, damit die genannten Codes funktionieren? Ich habe beide Lösungen ausprobiert und beide führen zu folgender Ausgabe:
colsName = {":Name(\!"0\!")"};
colsName2 = {":Name(\!"0\!")"};
Hier ist der ursprüngliche Code:
colsName[count] = Eval Insert( "\[:Name("^test^")]\" );
colsName2[count] = ":Name(\!"" || test || "\!")";
Show( colsName );
Show( colsName2 );
colsName ist eine Liste von Spaltennamen, die inkrementiert wird. Im Moment ist count gleich 1 und nur ein Wert (Wert 0) versucht, in das erste Element der Liste geschrieben zu werden, aber ich kann die Escape-Zeichen „\!“ scheinbar nicht entfernen.
Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenSie können auch die speziellen Escape-Zeichen \[ und ]\ verwenden, um beliebige Zeichen, einschließlich doppelter Anführungszeichen, in der Zeichenfolge zuzulassen.Ich verwende evalinsert auch für sauberer aussehenden Code:
initcol = "0";
var2 = evalinsert("\[:Name("^initcol^")]\");
write(var2);
Aus dem Protokoll:
:Name("0")
Betreff: Ich versuche, Escape-Zeichen für doppelte Anführungszeichen zu verwendenDas funktioniert bei mir
initCol = "0";
var = ":Name(\!"" || initCol || "\!")";