Wenn ... sonst wenn ... sonst in REBOL

8

Ich habe bemerkt, dass REBOL keine eingebaute if...elsif...else -Syntax hat, wie diese:

%Vor%

Ich habe eine Problemumgehung gefunden, aber es ist sehr ausführlich:

%Vor%

Gibt es eine prägnantere Möglichkeit, eine if...else if...else -Kette in REBOL zu implementieren?

    
Anderson Green 26.04.2014, 05:57
quelle

3 Antworten

8

Das Konstrukt, nach dem Sie suchen würden, wäre CASE. Es braucht eine Reihe von Bedingungen und Codeblöcken, um auszuwerten, die Blöcke nur dann zu evaluieren, wenn die Bedingung wahr ist, und zu stoppen, nachdem die erste wahre Bedingung erfüllt ist.

%Vor%

Wie Sie sehen, ist es einfach, eine Voreinstellung zu erhalten, indem Sie auf eine WAHR-Bedingung setzen.

Auch: Wenn Sie möchten, können Sie alle Fälle ausführen lassen und nicht mit CASE / ALL kurzschließen. Dies verhindert, dass der Fall bei der ersten wahren Bedingung stoppt; es wird sie alle in der Reihenfolge laufen lassen, irgendwelche Blöcke für irgendwelche wahren Bedingungen auswertend.

    
HostileFork 26.04.2014, 06:00
quelle
7

Und eine weitere Option ist die Verwendung aller

%Vor%

und solange jeder Ausdruck einen wahren Wert zurückgibt, werden diese weiterhin ausgewertet.

so,

%Vor%

und wir haben auch irgendwelche

%Vor%     
HappySpoon 26.04.2014 06:08
quelle
2

Sie können dafür das case-Konstrukt oder das switch-Konstrukt verwenden.

%Vor%

Das Case-Konstrukt wird verwendet, wenn Sie verschiedene Bedingungen testen. Wenn Sie einen bestimmten Wert betrachten, können Sie den Schalter

verwenden %Vor%     
Graham Chiu 26.04.2014 06:02
quelle

Tags und Links