Control statements
Like most programming languages, Symja has common control statements for conditions, loops, etc.:
If(cond, pos, neg)returns
posifcondevaluates toTrue, and neg if it evaluates toFalse.
Which(cond1, expr1, cond2, expr2, ...)yields
expr1ifcond1evaluates toTrue,expr2ifcond2evaluates toTrue, etc.
Do(expr, {i, max})evaluates
exprmaxtimes, substitutingiinexprwith values from1tomax.
For(start, test, incr, body)evaluates
start, and then iterativelybodyandincras long astestevaluates toTrue.
While(test, body)evaluates
bodyas long astestevaluates toTrue.
Nest(f, expr, n)returns an expression with
fappliedntimes toexpr.
NestWhile(f, expr, test)applies a function
frepeatedly on an expressionexpr, until applyingteston the result no longer yieldsTrue.
FixedPoint(f, expr)starting with
expr, repeatedly appliesfuntil the result no longer changes.
>> If(2 < 3, a, b)a
>> x = 3; Which(x < 2, a, x > 4, b, x < 5, c)cCompound statements can be entered with ;.
The result of a compound expression is its last part or Null if it ends with a ;.
>> 1; 2; 33
>> 1; 2; 3;Inside For, While, and Do loops, Break() exits the loop and Continue() continues to the next iteration.
>> For(i = 1, i <= 5, i++, If(i == 4, Break()); Print(i))123