1 Beginning Student
2 Beginning Student with List Abbreviations
3 Intermediate Student
4 Intermediate Student with Lambda
5 Advanced Student
Index
On this page:
case
Version: 4.0.2

 

5.11 case

(case expr [(choice ...) expr] ... [(choice ...) expr])

A case form contains one or more “lines” that are surrounded by parentheses or square brackets. Each line contains a sequence of choices – numbers and names for symbols – and an answer expr. The initial expr is evaluated, and the resulting value is compared to the choices in each line, where the lines are considered in order. The first line that contains a matching choice provides an answer expr whose value is the result of the whole case expression. If none of the lines contains a matching choice, it is an error.

(cond expr [(choice ...) expr] ... [else expr])

This form of case is similar to the prior one, except that the final else clause is always taken if no prior line contains a choice matching the value of the initial expr. In other words, so there is no possibility to “fall off them end” of the case form.