Set Monitor {R}←X ⎕MONITOR Y
Y
must be a simple character scalar or vector which is taken to be the name of a visible defined function or operator.
Note that ⎕MONITOR
does not apply to dfns or dops.
X
must be a simple non-negative integer scalar or vector. R
is a simple integer vector of non-negative elements.
X
identifies the numbers of lines in the function or operator named by Y
on which a monitor is to be placed. Numbers outside the range of line numbers in the function or operator (other than 0
) are ignored. The number 0
indicates that a monitor is to be placed on the function or operator as a whole. The value of X
is independent of ⎕IO
.
R
is a vector of numbers on which a monitor has been placed in ascending order. The result is suppressed unless it is explicitly used or assigned. R
will be empty for dfns and dops.
The effect of ⎕MONITOR
is to accumulate timing statistics for the lines for which the monitor has been set. See Query Monitor for details.
Examples
+(0,⍳10) ⎕MONITOR 'FOO'
0 1 2 3 4 5
Existing monitors are cancelled before new ones are set:
+1 ⎕MONITOR 'FOO'
1
All monitors may be cancelled by supplying an empty vector:
⍬ ⎕MONITOR 'FOO'
Monitors may be set on a locked function or operator, but no information will be reported. Monitors are saved with the workspace.