do
¶
Evaluate expression/s some number of times
do[count;e1;e2;e3;…;en]
Control construct. Where
count
is a non-negative integere1
,e2
, …en
are expressions
the expressions e1
to en
are evaluated, in order, count
times.
The result of do
is always the generic null.
Continued fraction for \(\pi\), for 7 steps:
q)r:()
q)t:2*asin 1
q)do[7;r,:q:floor t;t:reciprocal t-q]
q)r
3 7 15 1 292 1 1
do
is not a function but a control construct. It cannot be iterated or projected.
Name scope¶
The brackets of the expression list do not create lexical scope. Name scope within the brackets is the same as outside them.
Accumulators – Do,
if
,
while
Controlling evaluation
Q for Mortals
§10.1.5 do