Ein nützliches Werkzeug zum Manipulieren von booleschen Ausgängen, das ! (NICHT) Operator ein JMP kann auch andere wertvolle Anwendungen haben, wie z. B. die Verwendung mit Contains() in der <
Lassen Sie uns hier zunächst klarstellen, dass wir über die Verwendung von ! als ein Operator und nicht als syntaktisches Werkzeug, das in verwendet wird Fluchtsequenzen in Zeichenfolgen in Anführungszeichen; in diesen Fällen nimmt es nicht die NOT-Bedeutung an.
Sie können sich vorstellen ! wie jeder andere Operator im JMP. Sie kennen wahrscheinlich die gebräuchlichsten: Addieren (+), Subtrahieren (-), Multiplizieren (*), Dividieren (/) usw. Im Allgemeinen ist ein Operator ein ein- oder zweistelliges Symbol, das verwendet wird, um allgemeine arithmetische Aktionen auszuführen, Werte zu vergleichen, Listen zu konstruieren, in ein Datenelement einzufügen, Nachrichten zu senden, Listen zu verketten, Bereichsnamen, Klebeausdrücke und Endausdrücke zu verwenden .
Das ! Zeichen (häufig als „Bang“-Zeichen bezeichnet) in JMP wird im JSL-Code als Operator verwendet, um ein logisches NOT anzugeben, was im Zusammenhang mit booleschen Werten (wahr oder falsch) bedeutet, dass es Nicht-Null (oder wahr) abbildet ) Werte auf 0 (was falsch bedeutet) und ordnet 0 (0 oder falsch) Werte auf 1 (was wahr bedeutet) zu.
Hier sind einige einfache Anwendungsbeispiele:
Beispiel 1:
x = 1;
!x;
//LOG RESULT: 0
Beispiel 2:
x = 0;
!x;
//LOG RESULT: 1
Beispiel 3:
!(1 < 2);
//LOG RESULT: 0
Wenn Sie es mit anderen Operatoren gruppieren, können Sie sich vorstellen, dass es zu anderen „logischen“ Operatoren wie OR (|) und AND (&) gehört, die normalerweise in If()-Anweisungen verwendet werden.
Beispiel 1:
x = 4;
//Check if x is NOT equal to 2 or 3
If( x != 2 & !(x == 3),
Show("Not Equal to 2 or 3"),
Show("Equal to 2 or 3")
);
//LOG RESULT: "Not Equal to 2 or 3"
Hinweis: Beachten Sie hier, dass Sie NOT Equal mit != oder dem Hinzufügen von ! vor dem gesamten Gleichheitsausdruck, z. B. !(x==3).
Beispiel 2:
str = "hello world";
//Check if str does NOT contain the letter "o"
If (!Contains(str,"o"),
Show("Does not contain o"),
Show("Contains o")
);
//LOG RESULT: "Contains o"
Es gibt viele Situationen, in denen es hilfreich sein könnte, ! wobei es nicht auf Ihre If()-Anweisungen wie oben beschränkt ist. Wir haben ein Beispiel für die Verwendung von ! mit Contains(), aber gehen wir noch ein bisschen weiter. Eine klassische Verwendung von Contains() ist im Kontext einer << Select Where()-Nachricht, wie in diesem Beispiel gezeigt:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//Select Rows in the table that do not contain the letter "A" for :name column
<FONT color="#000000">dt << Select Where (!Contains(:name, "A"));
</FONT>
Dies ist dasselbe wie
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//Select Rows in the table that do not contain the letter "A" for :name column
dt << Select Where (Contains(:name, "A")==0);<BR />
Die erste „Select Where“-Anweisung oben stimmt mit der Ausgabe überein, die Sie sehen würden, wenn Sie die durchlaufen würden Reihen Fenster in der Benutzeroberfläche, navigiert zu Zeilenauswahl --> Wo auswählen … und dann im Dialog „enthält nicht“ die Option aus dem Dropdown ausgewählt.

Wie Sie im obigen Beispiel sehen können, ist die Verwendung von ! kann Code prägnanter und lesbarer machen; Es funktioniert auch besser, wenn Sie Anweisungen in Ihren <
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//Select Rows in the table that do not contain the letter "A" and "E", and contain letter "I"
dt << Select Where (!Contains(:name, "A") & !Contains(:name,"E") & Contains(:name, "I"));
Der NOT-Operator hat viele nützliche Anwendungen in JSL, also probieren Sie ihn in Ihrem Code aus. Selbstverständlich können Sie sich gerne an den technischen Support von JMP wenden, wenn Sie auf Probleme stoßen oder Fragen haben!