IDL

SWITCH

SWITCH

The SWITCH statement is used to select one statement or block of statements for execution from multiple choices, depending upon the value of the expression following the word SWITCH.

Each statement that is part of a SWITCH statement is preceded by an expression that is compared to the value of the SWITCH expression. SWITCH executes by comparing the SWITCH expression with each selector expression in the order written. If a match is found, program execution jumps to that statement and execution continues from that point. Whereas CASE executes at most one statement within the CASE block, SWITCH executes the first matching statement and any following statements in the SWITCH block. Once a match is found in the SWITCH block, execution falls through to any remaining statements. For this reason, the BREAK statement is commonly used within SWITCH statements to force an immediate exit from the SWITCH block.

The ELSE clause of the SWITCH statement is optional. If included, it matches any selector expression, causing its code to be executed. For this reason, it is usually written as the last clause in the switch statement. The ELSE statement is executed only if none of the preceding statement expressions match. If an ELSE clause is not included and none of the values match the selector, program execution continues immediately below the SWITCH without executing any of the SWITCH statements.

For more information on the difference between CASE and SWITCH, see CASE Versus SWITCH.

Syntax


SWITCH expression OF

   expression: statement

   ...

   expression: statement

ELSE: statement

ENDSWITCH

Examples


This example illustrates how, unlike CASE, SWITCH executes the first matching statement and any following statements in the SWITCH block:

PRO ex_switch, x
   SWITCH x OF
      1: PRINT, 'one'
      2: PRINT, 'two'
      3: PRINT, 'three'
      4: BEGIN
         PRINT, 'four'
         BREAK
        END
      ELSE: BEGIN
         PRINT, 'You entered: ', x
         PRINT, 'Please enter a value between 1 and 4'
         END
   ENDSWITCH
END
ex_switch, 2

IDL Prints:

two
three
four

Version History


5.4

Introduced

See Also


BEGIN...END, BREAK, CASE, Case vs Switch, CONTINUE, FOR, FOREACH, GOTO, IF...THEN...ELSE, REPEAT...UNTIL, WHILE...DO

IDL Programming

Notes


This page has no user notes yet. Be the first one!


This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). However, it may be restricted from transfer to various embargoed countries under U.S. laws and regulations.
© 2014 Exelis Visual Information Solutions