Skip to content

do

Evaluate expression/s some number of times

do[count;e1;e2;e3;…;en]

Control construct. Where

  • count is a non-negative integer
  • e1, 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