OS/2 Procedures Language 2/REXX


Inf-HTML [About][Toc][Index] 0.9b (c) 1995 Peter Childs


SELECT, END, WHEN, OTHERWISE, and NOP Instructions


SELECT tells the interpreter to select one of a number of instructions. 
 It is used only with WHEN, THEN, END, and sometimes, OTHERWISE.  The END 
instruction marks the end of every SELECT group.  The SELECT instruction 
looks like this: 

SELECT
   WHEN expression1
      THEN instruction1
   WHEN expression2
      THEN instruction2
   WHEN expression3
      THEN instruction3
...
OTHERWISE
   instruction
   instruction
   instruction
END

Note:    An IF-THEN instruction cannot be used with a SELECT instruction 
         unless it follows a WHEN or OTHERWISE instruction.  You can read 
         this format as follows: 
   
   o  If expression1 is true, instruction1 is run.  After this, processing 
      continues with the instruction following the END.  The END 
      instruction signals the end of the SELECT instruction. 
   o  If expression1 is false, expression2 is tested.  Then, if 
      expression2 is true, instruction2 is run and processing continues 
      with the instruction following the END. 
   o  If, and only if, all of the specified expressions are false, then 
      processing continues with the instruction following OTHERWISE. 
 
 This diagram shows the SELECT instruction: 
 A DO-END instruction could be included inside a SELECT instruction as 
 follows: 

 SELECT
    WHEN expression1 THEN
       DO
         instruction1
         instruction2
         instruction3
      END
 .
 .
 .
 
 
 You can use the SELECT instruction when you are looking at one variable 
 that can have several different values associated with it.  With each 
 different value, you can set a different condition. 
 For example, suppose you wanted a reminder of weekday activities.  For 
 the variable day, you can have a value of Monday through Friday. 
  Depending on the day of the week (the value of the variable), you can 
 list a different activity (instruction).  You could use a procedure such 
 as the following, SELECT.CMD, which chooses from several instructions. 
 Note:    A THEN or ELSE instruction must be followed by an instruction. 
 

 /* Selecting weekday activities */
 SAY 'What day is it today?'
 Pull day
 SELECT
    WHEN day = 'MONDAY'
       THEN
       SAY 'Model A board meeting'
    WHEN day = 'TUESDAY'
       THEN
       SAY "My Team Meeting"
    WHEN day = 'WEDNESDAY'
       THEN NOP                 /* Nothing happens here */
    WHEN day = 'THURSDAY'
       THEN
       SAY "My Seminar"
    WHEN day = 'FRIDAY'
       THEN
       SAY "My Book Review"
 OTHERWISE
    SAY  "It is the weekend, anything can happen!"
 END
 EXIT
 
 
 NOP Instruction: If you want nothing to happen for one expression, use 
 the NOP (No Operation) instruction, as shown in the previous example for 
 Wednesday.   

Inf-HTML End Run - Successful