Previous Up Next

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:

oper(2,3,1)
     
5           

since the third argument is 1, and so oper(a,b,c) will return a+b, and:

oper(2,3,2)
     
−1           

since the third argument is 2 and so oper(a,b,c) will return ab.


Previous Up Next