Subsections


Jump Statements

There are two jump statements based on the keywords break and return.

break Statement

The syntax for break statement is:
break statement
where statement is an optional integer expression statement indicating the break level. If not specified, the break level is 1. The break statement may appear only within an iteration statement: while, do/while, for statements.
break Statement Examples
Statement Comments
break; raises an error: break operator «break; » : level 1 is too deep.
break 3; raises an error: break operator «break; » : level 3 is too deep.
for (x := 0; ; x++) if (x == 30) break; break the loop when x is equal to 30
while (true) {x++; if (!check(x)) break;} break the loop when check(x) is not true
while (true) {x++; if (!check(x)) break 2;} raises an error: break operator «break; » : level 2 is too deep.
while (true) {x++; while (x < 100) if (!check(&x)) break 2;} break the two loop when check(&x) is not true

return Statement

The syntax for return statement is: return [statement]
where statement is an optional expression statement indicating the atom to return. The atom to return may be of any type. If not specified, no atom is returned. The return statement may appear only within a function definition statement.
return Statement Examples
Statement Comments
return; raises an error: return operator «return; » : return must be performed in a function
function fact(n) {return n * fact(n-1);} ok.
function f(x) {if (g(x)) return x+1; return x+2;} ok.
function f(b) {if (b) return list(1, 2, 3); return bag(1);} ok.
function f(b) {if (b) return list(1, 2, 3); return bag(1);} ok.
define as f(x) (if (x) return x) raises an error: syntax error

EyeDB manual