Evaluate expression/s while some condition remains true
Syntax: while[test;e1;e2;e3;…;en]
Control construct. Where
test is an expression that evaluates to an atom of integral typee1, e2, … en are expressionsunless test evaluates to zero, the expressions e1 to en are evaluated, in
order. The cycle – evaluate test, then the expressions – continues until test evaluates to
zero.
q)r:1 1
q)x:10
q)while[x-:1;r,:sum -2#r]
q)r
1 1 2 3 5 8 13 21 34 55 89
The result of while is always the generic null.