 
 
 
25.3.2  Switch statement
The switch
statement can be used when you want the value of a
block to depend on an integer. It takes one argument, an expression
which evaluates to an integer. It should be followed by a sequence of
case statements, which takes
the form case followed
by an integer and then a colon, which is followed by a code block to
be executed if the expression equals the integer. At the end is an
optional default
statement, which is followed by a code block to be executed if the
expression does not equal any of the given integers.
| switch(n) { | 
| case n1: block n1 | 
| case n2: block n2 | 
| … | 
| case nk: block nk | 
| default: default_block | 
 
Recall that the blocks need to be delimited by braces or by
begin and end.
Example
As an example of a program which performs an operation on the first
two variables depending on the third, you could enter (see
Section 25.1.1):
| oper(a,b,c):={
   switch (c) {
     case 1:  { a:=a+b; break; }
     case 2:  { a:=a-b; break; }
     case 3:  { a:=a*b; break; }
     default: { a:=a^b; }
   }
   return a;
 } | 
Then:
since the third argument is 1, and so oper(a,b,c)
will return a+b, and:
since the third argument is 2 and so oper(a,b,c)
will return a−b.
 
 
