Fachkonzept: Fallunterscheidungen
Die allgemeine Fallunterscheidung
Eine allgemeine Fallunterscheidung wird in Racket mit einem
(cond ...)
-Ausdruck umgesetzt.
Dieser enthält beliebig viele Fälle,
die jeweils aus einer Bedingung (ein Ausdruck mit booleschem Rückgabewert) und einem zugehörigen Rückgabewert bestehen.
Wenn die Bedingung #t
ergibt, wird der zugehörige Rückgabewert als Ergebnis der Funktion zurückgegeben.
Wenn nicht sichergestellt werden kann, dass mindestens eine der Bedingungen zu #t
ausgewertet wird,
kann ein else
-Fall hinzugefügt werden.
(cond
([FunktionMitBoolscherRückgabe Operand-en] rückgabe-WennBedingung-#t)
([...] ...)
...
(else rückgabe-WennAlleBedingungen-#f)
)
Die binäre Fallunterscheidung
Eine binäre Fallunterscheidung wird in Racket mit einem
(if ...)
-Ausdruck umgesetzt.
Dieser enthält eine Bedingung (ein Ausdruck mit booleschem Rückgabewert) und zwei möglichen Rückgabewerten.
Wenn die Bedingung #t
ergibt, wird der erste Rückgabewert als Ergebnis der Funktion zurückgegeben,
wenn die Bedingung #f
ergibt, der zweite.
(if ([FunktionMitBoolscherRückgabe Operand-en] rückgabe-#t rückgabe-#f))