Behalten Sie Kommentare und Leerzeichen im an die Datentabelle angehängten JSL-Code beiWenn ich Code schreibe, versuche ich, ihn einfach zu lesen, zu verstehen und zu warten.Ich schreibe Kommentare.Ich rücke Codeblöcke ein.Ich verwende Zeilenumbrüche, um den Code auf mehrere Zeilen zu verteilen.Ich versuche, Code mit einem einheitlichen Stil zu schreiben.Allerdings stelle ich häufig fest, dass JMP meinen Code ohne Nachfrage neu formatiert.Es beschließt einfach, all die Mühe zunichte zu machen, die ich in gute Codierungspraktiken gesteckt habe.
Ich schreibe zum Beispiel ein Skript und hänge es an eine Datentabelle an.Dann klicke ich mit der rechten Maustaste auf das Skript und drücke „Kopieren“ und klicke dann mit der rechten Maustaste in das Skriptfenster und drücke „Einfügen“.Die Kopie des Skripts enthält keine der Kommentare oder Codeblockeinrückungen, die im Originalskript enthalten waren.
Ein weiteres Beispiel: Ich erstelle eine Formelspalte in einer Datentabelle.Innerhalb des Formeleditorblocks schreibe ich JSL-Code, um eine iterative Berechnung durchzuführen (das ist wirklich cool). Ich habe gerade herausgefunden, dass du das schaffst!).Natürlich möchte ich in diesem Code Kommentare und Leerzeichen verwenden, so wie ich es in buchstäblich jedem Code tun würde, den ich irgendwo schreibe.Nun, nachdem ich die Eingabetaste gedrückt habe, sind die Kommentare unsichtbar, bis ich auf den Formeleditorblock doppelklicke.Aber es gibt sie.Bis ich auf OK klicke und JMP die Formel auswertet.Wenn ich die Formel das nächste Mal öffne, sind Kommentare und Leerzeichen verschwunden.
Es wird schlimmer.An meine Tabelle sind mehrere Skripte angehängt, die alle auf eine bestimmte Spalte verweisen.Dann benenne ich diese Spalte um.Alle diese Skripte werden mit dem neuen Spaltennamen aktualisiert.Aber dabei werden sie alle vom JSL-Parser „neu formatiert“ und alle meine Kommentare und Leerzeichen werden zerstört.ಠ_ಠ
Welchen Sinn hat es überhaupt, Kommentare in der JSL-Sprache zu haben, wenn JMP sie bei der ersten Gelegenheit sofort löscht?Soll ich meine JSL-Skripte in einem weniger schädlichen Texteditor (z. B. Notepad++) bearbeiten und die lesbaren Versionen als separate Dateien speichern?Ich verstehe einfach nicht, warum das so sein muss.Bitte lassen Sie meine Kommentare in Ruhe!
Notiz: @Cwalla habe in den Foren das gleiche Problem gemeldet Hier
Automatisierung und SkripterstellungBetreff: Kommentare und Leerzeichen im an die Datentabelle angehängten JSL-Code beibehalten – Status geändert in: BestätigtHallo @Chris_Rodrigues , Danke für deinen Vorschlag! Wir haben Ihre Anfrage erfasst und werden sie prüfen.
Betreff: Kommentare und Leerzeichen im an die Datentabelle angehängten JSL-Code beibehaltenDanke @XanGregg , das löst mein Problem 
Betreff: Kommentare und Leerzeichen im an die Datentabelle angehängten JSL-Code beibehaltenIch habe dem Thread ein JSL-Zitatbeispiel hinzugefügt.
New Table( "formatted script",
New Script( "my script",
Eval( Parse(JSL Quote(
// example
x = 1;
Print( :column 1[1], y );
) )
)
),
New Column( "Column 1", Set Values( [5] ) )
)
Betreff: Kommentare und Leerzeichen im an die Datentabelle angehängten JSL-Code beibehaltenHallo @Chris_Rodrigues ,
Ich habe gerade eine Diskussion zu diesem Thema geführt: So behalten Sie Formatierungen und Kommentare mit neuem Skript bei
Mein Problem tritt nicht in genau demselben Kontext auf, aber das Ergebnis ist dasselbe: Wenn ein Skript mithilfe von ein neues Skript zu einer Datentabelle hinzufügt Neues Skript () Funktion, Kommentare und Layout gehen verloren.
Ich dachte, es gäbe vielleicht einen Workaround, aber Kommentare und Layout wieder in Skripts in Datentabellen einzufügen, aber es sieht so aus, als wäre das nicht der Fall.
Während wir auf die Genehmigung Ihres Wunschlisteneintrags warten, gibt es einige Lösungen, die Sie verwenden könnten:
-Speichern Sie Ihre Skripte in separaten Dateien. In Ihrer Datentabelle wären Ihre Skripte lediglich ein Link zum Öffnen der .jsl-Dateien. Auf diese Weise besteht keine Gefahr, dass Informationen verloren gehen.
-Speichern Sie Ihre Kommentare in einer benutzerdefinierten Kommentarfunktion, die Ihre Kommentare lediglich in das Protokoll schreibt. Ich weiß, dass es nicht ideal ist, da Sie zwar Ihr Layout verlieren könnten, Ihre Kommentare aber zumindest erhalten bleiben würden.
Hoffen wir, dass noch mehr Menschen diesem Wunsch ein Lob aussprechen, er scheint sehr notwendig zu sein!
Betreff: Kommentare und Leerzeichen im JSL-Code beibehaltenIch speichere gut formatierte Versionen von Skripten separat als Textdatei. Ich hoffe, dass JMP das Format beibehält.Betreff: Kommentare und Leerzeichen im an eine Datentabelle angehängten JSL-Code beibehaltenDie meisten der genannten Probleme wurden inzwischen behoben - und mit der Neuformatierung kann ich leben : )
Was bleibt: Kommentare in Spaltenformeln.
Da JMP sehr offen für die Meinung des Kunden ist,Es scheint, als gäbe es ein starkes Argument dagegen:
Kommentare können nicht in Spaltenformeln bleiben?
Warum?
Betreff: Kommentare und Leerzeichen im an eine Datentabelle angehängten JSL-Code beibehaltenIm Hinblick auf die Umbenennung von Spaltenvariablen in einem Tabellenskript ist es interessant, dass dabei auch Quellskripte bearbeitet werden.
In diesem Beispiel wird das Quellskript durch die Umbenennung der Spalte in der Übersichtstabelle beschädigt:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dtsum = dt << Summary(
Group( :sex ),
Mean( :height ),
Link to original data table( 0 )
);
dtsum:sex << Set Name( "sex_2" );
Betreff: Kommentare und Leerzeichen im an eine Datentabelle angehängten JSL-Code beibehaltenArbeiten mehrere Benutzer mit der gleichen Datei, kann es sehr hilfreich sein, wenn Kommentare in Spaltenformeln erlaubt wären.
Verwenden einer temporären Variable zum Speichern einer Kommentarzeichenfolge:

ist eine akzeptable Problemumgehung – Kommentare sollten aber als Kommentare sichtbar sein.
Wenn möglich: mit deutlich erkennbarer Farbe – um sie als Kommentare zu kennzeichnen.
Ich habe gerade diesen Wunsch gefunden - genau die gleiche Anfrage:
Kommentare in Spaltenformeln beibehalten
in einer der Antworten schrieb @mia_stephens im Jahr 2023:

Ist das immer noch so? Bei Tabellenskripten scheint das Problem inzwischen behoben zu sein.