SWITCH Switch statement

Section: Flow Control

Usage

The switch statement is used to selective execute code based on the value of either scalar value or a string. The general syntax for a switch statement is
  switch(expression)
    case test_expression_1
      statements
    case test_expression_2
      statements
    otherwise
      statements
  end

The otherwise clause is optional. Note that each test expression can either be a scalar value, a string to test against (if the switch expression is a string), or a cell-array of expressions to test against. Note that unlike C switch statements, the FreeMat switch does not have fall-through, meaning that the statements associated with the first matching case are executed, and then the switch ends. Also, if the switch expression matches multiple case expressions, only the first one is executed.

Examples

Here is an example of a switch expression that tests against a string input:

     switch_test.m
function c = switch_test(a)
  switch(a)
    case {'lima beans','root beer'}
      c = 'food';
    case {'red','green','blue'}
      c = 'color';
    otherwise
      c = 'not sure';
  end

Now we exercise the switch statements

--> switch_test('root beer')

ans = 
food
--> switch_test('red')

ans = 
color
--> switch_test('carpet')

ans = 
not sure