Difference between revisions of "Recital Flow Control and Looping"
Yvonnemilne (Talk | contribs) (→Recital for loops) |
Yvonnemilne (Talk | contribs) (→Recital foreach loops) |
||
Line 59: | Line 59: | ||
===Recital do...while loops=== | ===Recital do...while loops=== | ||
===Recital foreach loops=== | ===Recital foreach loops=== | ||
+ | <pre> | ||
+ | foreach <array> as <value> | foreach <array> as <key> => <value> | ||
+ | <statements> | ||
+ | endfor | ||
+ | </pre> | ||
+ | |||
===Breaking a Loop=== | ===Breaking a Loop=== | ||
===Skipping Statements in a Loop=== | ===Skipping Statements in a Loop=== | ||
===Summary=== | ===Summary=== |
Revision as of 14:37, 14 January 2010
Contents
Recital Flow Control and Looping
Recital Conditional Statements
Recital do...case statements
The do...case command selects one course of action out of one or more alternatives.
do case case <condition as logical> [<commands>] [case <condition as logical> [<commands>]] [...] [otherwise [<commands>]] endcase
Each case condition is evaluated in turn. As soon as one of the conditions evaluates to true (.T.), the commands for that case are executed and any further case statements are ignored. Following execution of the commands, the program continues after the endcase statement. If an otherwise statement is present and no case condition evaluates to true, the otherwise commands are executed.
If no case condition evaluates to true, and there is no otherwise statement specified, then control skips to the next command following the endcase.
Example
The Recital if Statement
The if command processes commands based on the evaluation of a logical condition.
if <condition as logical> [elseif <condition as logical>] [else] endif
If the result of the if condition is true (.T.), then the commands that follow up to an else, elseif or endif statement are executed.
The elseif clause can be added to the control structure allowing for the testing of more than one condition. The if...endif block is now essentially the same as the do...case structure and elseif is analogous with a case statement.
The else statement is analogous with the otherwise statement. If no previous if condition or elseif condition is true, the commands following the else statement up to the endif statement are executed.
Example
Recital Looping Statements
Recital for loops
for <memvar> = <exp1> TO <exp2> [step <expN1>] [exit] [loop] next
Recital do...while loops
Recital foreach loops
foreach <array> as <value> | foreach <array> as <key> => <value> <statements> endfor