FOREACH [ System Debug Reference Manual ] MPE/iX 5.0 Documentation
System Debug Reference Manual
FOREACH
Each time a FOREACH command is executed, name is set to the next
expression value in value_list prior to the execution of cmdlist.
Execution ends when there are no more expression values in the
value_list.
Syntax
FOREACH name value_list command
FOREACH name value_list { cmdlist }
Parameters
name The name for the control variable that is set to the
next expression value in value_list. A local variable
is declared automatically, and it can be referenced with
the cmdlist.
An optional type specification can be appended to the
variable name, in order to restrict/convert the values
in the list to a specific desired type:
foreach j:S16 '1 2 3+4 5' {wl j }
If the type specification is omitted, the type ANY is
assumed.
value_list This is a quoted string (or string variable) that
contains a list of values (expressions). The cmdlist is
evaluated once for every expression in the list. The
list may contain string and or numeric expressions.
command A single command (or command list) that is executed for
cmdlist each value in value_list.
Examples
%cmdebug > foreach j '1 2 3 "MOM" date 12.330' wl j
$1
$2
$3
MOM
WED. SEPT 3, 1986
$12.00000330
A local variable j is assigned each of the expression values in the value
list string, and the specified command references the current value of j
in order to write its value.
$nmdebug > foreach j '6 -2 "a" + "b" 3 +4' {wl j}
$4
"ab"
$7
This example shows that full expression values are evaluated within the
value list.
$nmdebug > var nums '"1" "2" "3"'
$nmdebug > var lets '"A" "B" "C"'
$nmdebug > foreach l lets { foreach n nums {wl l n }}
A1
A2
A3
B1
B2
B3
C1
C2
C3
This is an example of nested FOREACH commands that use string variables
for their value lists.
Limitations, Restrictions
none
CAUTION The output format of all System Debug commands is subject to
change without notice. Programs that are developed to
postprocess System Debug output should not depend on the exact
format (spacing, alignment, number of lines, uppercase or
lowercase, or spelling) of any System Debug command output.
MPE/iX 5.0 Documentation