Site Tools


switch
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


switch [2006/08/29 16:08] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +#$EPIC: switch.txt,v 1.2 2006/08/20 16:57:01 sthalik Exp $
 +======Synopsis:======
 +__switch__ (<control text>) { (<switch>) { <body> } }
 +
 +======Description:======
 +__SWITCH__ is similar to C's switch statement.  It allows for multiple
 +alternatives to a given "control" statement where more than two
 +possible values exist.  It is functionally similar to [[IF]] except it
 +doesn't require excessive nesting for multiple alternatives.
 +
 +Whitespace is not significant any any part of __SWITCH__.  Braces may
 +appear anywhere, and multiple switches may appear on the same line
 +or on individual lines.  No logic takes place inside the switch, only
 +string comparisons.  For this reason, the expression parser is not
 +needed (nor allowed), as everything is assumed to be a string, and
 +variables are expanded.
 +
 +Breaks and "Fall through" support, as in C, is not supported by EPIC.  
 +If you need to perform the same command in multiple switches, it must 
 +be present in each switch's body.
 +
 +======Examples:======
 +A simple switch that checks the value of an arbitrary input:
 +      switch ( $0 ) {
 +         ( foo ) {
 +            <do action for "foo">
 +         }
 +         ( bar ) ( blah ) {
 +            <do action for "bar" or "blah">
 +         }
 +         ( * ) {
 +            <do action for everything else>
 +         }
 +      }
  
switch.txt · Last modified: 2006/08/29 16:08 by 127.0.0.1