break
-- terminate a loop or a
case
switch prematurelybreak
terminates for
, repeat
, while
loops, and case
statements.
break _break()
case
, for
, next
, quit
, repeat
, return
, while
break
statement is equivalent to the function call
_break()
. The return value is the void object of type
DOM_NULL
.for
, repeat
, while
, and case
statements, the break
statement exits from the loop/switch. Execution proceeds with the next
statement after the end
clause of the loop/switch.break
.break
also terminates a statement sequence _stmtseq(..., break,
...)
.for
, repeat
, while
, case
, and _stmtseq
, the break
statement has no effect._break
is a function of the system kernel.Loops are exited prematurely by break
:
>> for i from 1 to 10 do print(i); if i = 2 then break end_if end_for
1 2
>> delete i:
In a case
statement, all commands starting with the first matching branch are
executed:
>> x := 2: case x of 1 do print(1); x^2; of 2 do print(2); x^2; of 3 do print(3); x^2; otherwise print(UNKNOWN) end_case:
2 3 UNKNOWN
In the next version, break
ensures that
only the statements in the matching branch are evaluated:
>> case x of 1 do print(1); x^2; break; of 2 do print(2); x^2; break; of 3 do print(3); x^2; break; otherwise print(UNKNOWN) end_case:
2
>> delete x: