
Eine weitere Möglichkeit zur Iteration ist die While-Funktion. Diese Funktion akzeptiert nur zwei Argumente: den Test und den Hauptteil. Wenn Sie also in einem der Argumente einen Zähler, einen Index oder eine Flag-Variable verwenden möchten, müssen Sie diese vor dem Aufruf der While-Funktion initialisieren. JMP wertet das erste Argument aus und interpretiert es als boolesches Ergebnis, um zu bestimmen, ob die Iteration fortgesetzt werden soll. Ist das Ergebnis wahr, setzt die While-Funktion die Iteration fort. Ist es falsch, beendet die While-Funktion die Iteration und das Skript fährt mit dem auf die While-Funktion folgenden Code fort. JMP wertet anschließend das zweite Argument aus. Dieser Code wird üblicherweise als Hauptteil der Iteration betrachtet und jedes Mal von JMP ausgewertet. Da es kein separates Aktualisierungsargument gibt, sollte ein Teil dieses Codes den Zähler, den Index oder die Flag-Variable für die nächste Iteration aktualisieren. Sehen wir uns ein Beispiel an. In diesem Code ist c ein Zähler oder Index und wird zunächst auf „Nicht erledigt“ gesetzt. Die Flag-Variable ist zunächst auf „wahr“ gesetzt. In der While-Funktion wertet JMP also zuerst „not Done“ aus und interpretiert es als boolesches Ergebnis. Wenn „not Done“ wahr ist, wird die Funktion fortgesetzt. Anschließend enthält der Hauptteil die Hauptarbeit der Iteration – das Starten der Distributionsplattform – und aktualisiert anschließend auch die Variable „not Done“ basierend auf einem booleschen Vergleich. Im hier gezeigten Code vergleicht JMP die Anzahl der Spalten in der Datentabelle mit dem aktuellen Wert des Zählers UND aktualisiert den Zähler. Der Vergleich gibt ein zurück, wenn die Datentabelle mehrere Spalten enthält, und eine Null, wenn alle Spalten ausgewertet wurden. Dieses Ergebnis wird in „not Done“ gespeichert, das zu Beginn der nächsten Iteration ausgewertet wird. Beachten Sie, dass der Post-Increment-Operator seinen aktuellen Wert vor dem Inkrementieren zurückgibt – der letzte Teil des Codes könnte also auch als N Spalten größer als c, Semikolon, c plus-plus geschrieben werden und würde genau dasselbe bewirken.