- Bedingung
- In Rexx ist der Wert für Wahr als 1 definiert und für Unwahr als 0.
- Vergleichsoperatoren
= Gleichheit
<> Ungleichheit
><
¬=
\=
< Kleiner als
> Größer als
\< Nicht kleiner als
¬<
\> Nicht größer als
¬>
<= Kleiner oder gleich
>= Gößer oder gleich
- logische Operatoren
& Und (AND)
| Oder (OR)
&& Exklusiv-Oder (XOR)
\ Nicht (NOT)
¬
- Verzweigung mit IF .. THEN
IF Bedingung THEN Aktion ELSE Aktion
IF 4 < 9 THEN
DO
SAY "Jau"
SAY "Stimmt"
END
ELSE
SAY "Nee"
- Mehrfachauswahl mit SELECT
SELECT
WHEN Bedingung THEN
...
WHEN Bedingung THEN
...
OTHERWISE
...
END
das OTHERWISE muß dort stehen
der SELECT-END Bock wird nach der ersten wahren Bedingung abgebrochen
- Die DO-END Schleife
Führt die Schleife 5mal aus:
DO 5
SAY "A"
END
Endlosschleife:
i=0
DO FOREVER
i=i+1
SAY i;
END;
i wird von 1 bis 10 hochgezählt:
DO i=1 TO 10
SAY i '*' i '=' i*i
END
zählt von 10 mit der Schrittweite 1.1 herunter und hört auf, wenn 1 unterschritten wurde:
DO i=10 TO 1 BY -1.1
SAY i
END
führt die Schleife 5 mal aus und erhöht i jeweils um 4:
DO i=3 BY 4 FOR 5
SAY i
END
- DO WHILE Schleife
Sie ist Kopfgesteuert: Zuerst wir die Bedingung geprüft
DO WHILE Bedingung
...
END
- DO UNTIL Schleife
Sie ist Fußgesteuert: Zuerst wird die Schleife ausgeführt und dann die Bedingung geprüft
DO UNTIL Bedingung
...
END
- Der Notaustieg mit LEAVE und ITERATE
Mit LEAVE wird eine Schleife vorzeitig abgebrochen und es wird mit dem ersten Befehl nach dem END fortgesetzt.
Mit ITERATE wird der Schleifendurchlauf auch frühzeitig abgebrochen, jedoch wird dann mit dem Schleifenkopf
bzw. -fuß und der Prüfung der Bedingung fortgesetzt.