Caché Basic Reference
Select Case
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Executes one of several groups of statements, depending on the value of an expression.
Synopsis
Select Case testexpression
    [Case expressionlist-n
        [statements-n]] . . .
    [Case Else elsestatements]
End Select
Arguments
The Select Case statement syntax has these parts:
testexpression Any numeric or string expression.
expressionlist-n Required if Case appears. Delimited list of one or more expressions.
statements-n One or more statements executed if testexpression matches any part of expressionlist-n.
elsestatements One or more statements executed if testexpression does not match any of the Case clauses. There can be only one Case Else clause with only one set of elsestatements.
Description
If testexpression matches (is equal to) any Case expressionlist expression, the statements following that Case clause are executed up to the next Case clause, or for the last clause, up to End Select. Control then passes to the statement following End Select. If testexpression matches an expressionlist expression in more than one Case clause, only the statements following the first match are executed.
The Case Else clause is used to indicate the elsestatements to be executed if no match is found between the testexpression and an expressionlist in any of the other Case selections. Although not required, it is a good idea to have a Case Else statement in your Select Case block to handle unforeseen testexpression values. If no Case expressionlist matches testexpression and there is no Case Else statement, execution continues at the statement following End Select.
Select Case statements can be nested. Each nested Select Case statement must have a matching End Select statement.
Examples
The following example illustrates the use of the Select Case statement:
Dim Color, MyVar
Sub ChangeBackground (Color)
  MyVar = lcase (Color)
     Select Case MyVar
           Case "red"    document.bgColor = "red"
           Case "green"  document.bgColor = "green"
           Case "blue","azure"   document.bgColor = "blue"
           Case Else     Print "pick another color"
     End Select
End Sub
See Also