contentsconceptssyntaxlibrariessampleserrorsindex
Full text search
Looping constructs
    Related Syntax  

To have an OmniMark program perform an action or set of actions repeatedly, you will need to create a looping construct of some sort. OmniMark provides three types of looping constructs, repeat, repeat over, and repeat scan.

The simplest is a repeat...again. This form of loop will simply repeat the execution of the actions it contains, until an explicit exit action is encountered in the loop.

  process
     local counter count1
     repeat
        output "count1 is %d(count1)%n"
        increment count1
        exit when count1 = 4
     again

This repeat...again will execute the output action until the counter "count1" equals 4 at which point the exit action will execute and the loop will terminate, resulting in the following output:

  count1 is 1
  count1 is 2
  count1 is 3

The second type of looping construct is a repeat over...again. This type of loop is used to iterate over a shelf and perform a set of actions on each item that exists on that shelf. For example, the following program will output the values of each item contained on the stream shelf "names":

  global stream names variable initial {"Bob", "Doug", "Andy", "Greg"}

  process
     repeat over names
        output names || "%n"
     again

repeat over loops can be used to iterate over any type of shelf, and the loop is terminated after the last item on the shelf has been processed.

      Related Syntax
   repeat
   repeat over
 
----

Top [CONTENTS] [CONCEPTS] [SYNTAX] [LIBRARIES] [SAMPLES] [ERRORS] [INDEX]

Generated: April 21, 1999 at 2:00:49 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © OmniMark Technologies Corporation, 1988-1999.