OK, jetzt reden wir über Variablen. Sie können Variablen verwenden, um Werte zu speichern, die von einer Skriptausführung zur nächsten nicht konstant sind. Diese Werte können Daten jeglicher Art, Datenstrukturen jeglicher Art oder Verweise auf ein anderes Objekt sein. Anders als in vielen Programmiersprachen müssen JMP-Variablen nicht deklariert oder am Anfang des Skripts aufgelistet werden, und sie sind nicht auf die Speicherung eines bestimmten Datentyps beschränkt. Sie können einer vorhandenen Variablen also jederzeit einen neuen Wert zuweisen, und dieser neue Wert muss nicht vom gleichen Datentyp oder der gleichen Referenz sein wie der alte Wert. Variablen haben auch einen Geltungsbereich, der den definierten Bereich und die definierte Zeit in JMP darstellt, in dem sie zur Verwendung verfügbar sind. Der Bereich, in dem eine Variable verfügbar ist, wird auch als Namespace bezeichnet – der Raum, in dem dieser Name einem bestimmten Wert oder einer Objektreferenz zugeordnet ist. Standardmäßig sind Variablen global, d. h. sie existieren im globalen Namensraum. Eine globale Variable ist überall in JMP verfügbar, solange die aktuelle JMP-Sitzung besteht. Mit anderen Worten: Globale Variablen bleiben bestehen, bis Sie JMP beenden. Nehmen wir an, Sie erstellen eine globale Variable, s, die eine Summe speichert, die Ihr Skript berechnet hat. Jedes Skript, das während Ihrer aktuellen JMP-Sitzung ausgeführt wird, hat Zugriff auf diese Variable. Es ist jedoch wichtig zu bedenken, dass diese Werte möglicherweise miteinander kollidieren, wenn Sie dazu neigen, in mehreren Skripten dieselben Variablennamen zu verwenden, z. B. s für eine Summe oder i für einen Zähler. Mit anderen Worten: Sie beabsichtigen vielleicht nicht, dass die s im zweiten Skript den Wert der s im ersten Skript überschreiben, aber wenn beide Skripte eine globale Variable mit demselben Namen verwenden, dann wird genau das passieren, weil Sie das können Es dürfen keine unterschiedlichen Kopien derselben gleichnamigen globalen Variablen vorhanden sein. Daher kann es sinnvoll sein, den Umfang der Variable so einzuschränken, dass sie nur für einen begrenzten Bereich oder für eine begrenzte Zeit verfügbar ist. Eine Möglichkeit, dies zu erreichen, ist die Verwendung lokaler Variablen. Hierbei handelt es sich um Variablen, die auf einen begrenzten Namensraum beschränkt sind, was bedeutet, dass sie nur vorübergehend verfügbar sind, während ein Teil des Skripts ausgeführt wird. Sie verwenden die Local-Funktion, um lokale Variablen zu erstellen. Diese können eine gute Möglichkeit sein, die Namen in Ihren Skripten zu verwalten und Kollisionen im globalen Namespace zu vermeiden. Eine weitere Alternative zur Verwendung globaler Variablen ist die Verwendung des Here-Namespace. Wenn Sie in Ihrem Skript den Namensstandard mit a als booleschem Argument verwenden, wird für jedes Skript ein eindeutiger Here-Namespace erstellt. Dadurch können Sie den Umfang der Variablen auf ein einzelnes Skript beschränken, ohne die Local-Funktion zu verwenden. Sie können nach Bedarf weitere Namespaces erstellen und verwalten. JMP enthält zusätzlich zu den Namespaces „Global“, „Hier“ und „Lokal“ einige weitere vordefinierte Namespaces.