case
(case
EXPRESSION ((CHOICE CHOICE ...) EXPRESSION) ((CHOICE CHOICE ...) EXPRESSION) ...)
A case
form contains an expression and one or more branches, or "lines". Each line contains a sequence of choices --- numbers and names for symbols --- and an answer expresson. The initial expression is evaluated, and the resulting value is compared to the choices in each line, where the lines are considered in order. To evaluate a line, first check whether the value is one of the choices. If so, then the result of the whole case
is the result of evaluating the answer expression of the line. If the value is not one of the choices, the line is discarded and evaluation proceeds with the next line. If none of the lines contains a matching choice, it is an error. (case
EXPRESSION ((CHOICE CHOICE ...) EXPRESSION) ... (else
EXPRESSION))
This form of case
is similar to the prior one except that the final else
clause is always taken if no prior line's choices match. In other words, there is no possibility that evaluation will "fall off the end" of the case
expression.
Advanced Student Language