This functionality does not run in MATLAB.
repeat - end_repeat is a loop that evaluates
its body until a specified stopping criterion is satisfied.
repeat loop, first
condition are evaluated until
In contrast to the
while loop, the body of
repeat loop is always evaluated at least once.
The body can consist of any number of statements which must
be separated either by a colon
: or a semicolon
Only the last evaluated result inside the body (the return value of
the loop) is printed on the screen. Use
end_repeat can be replaced by
The imperative form
repeat - end_repeat is
equivalent to corresponding call of the function
In most cases, the imperative form leads to simpler code.
is often a more elegant notation for loops.
_repeat is a function of the system kernel.
repeat loops do not show intermediate results
of statements within a loop:
i := 1: s := 0: repeat s := s + i; i := i + 1; until i >= 3 end_repeat
Above, only the return value of the loop is displayed. Use
i := 1: s := 0: repeat print("intermediate sum" = s); s := s + i; i := i + 1; s until i >= 3 end_repeat
delete i, s:
Express the same statements as a
and as an equivalent
while loop. In more complicated
cases, you might need additional initializations of variables:
i := 1: repeat print(i); i := i + 1; until i = 3 end:
i := 1: while i < 3 do print(i); i := i + 1; end:
repeat condition := UNKNOWN; print(Condition = condition); until condition end_repeat:
Error: The Boolean 'TRUE' or 'FALSE' is expected. [repeat]
To avoid this error, change the stopping criterion to
repeat condition := UNKNOWN; print(Condition = condition); until condition = UNKNOWN end_repeat:
You also can create a
repeat loop by using
the functional form
hold(_repeat((statement1; statement2), condition))
repeat statement1; statement2 until condition end_repeat
The body of the loop: an arbitrary sequence of statements
Value of the last command executed in the body of the loop.
If no command was executed, the value
NIL is returned. If the body of a
is not evaluated due to a false condition, the void object of type