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 doesn’t equal any of the given integers. For example, if you wanted to define a function of three variables which performed an operation on the first two variables depending on the third, you could enter
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
will return 2+3=5, since the third argument is 1, and
will return 2−3=−1, since the third argument is 2.