Displays lines of code from the current routine on the current device.
||Optional A postconditional expression.
||Optional The line to be displayed, or the first line in a range of lines to be displayed, specified as a literal. Can be a label name, a numeric offset (+n) or a label name and a numeric offset. If omitted, the entire current routine is displayed.
||Optional The last line in a range of lines to be displayed, specified as a literal. To define a range, lineref1 must be specified.
command displays lines of code from the currently loaded routine. Use ZLOAD
to load a routine. ZLOAD loads the INT code version of a routine. For the name of the current routine, access the $ZNAME
The output is sent to the current device. When invoked from the Terminal, the current output device defaults to the Terminal. You can establish the current device with the USE
command. For the device ID of the current device, access the $IO
commands are functionally identical.
displays the INT code version of a routine. INT code does not count or include preprocessor statements. Completely blank lines from the MAC version of the routine, whether in the source code or within a multiline comment, are removed by the compiler and are therefore neither displayed nor counted in the INT routine. For this reason, ZPRINT
displays and counts the following multi-line comment in the MAC routine as two lines, not three:
/* This comment includes
a blank line */
without arguments displays all the lines of code in the currently loaded routine.
arguments count lines and line offsets using the INT code version of the routine. After modifying a routine, you must re-compile the routine for ZPRINT
to correctly count lines and line offsets that correspond to the source (MAC) version.
You can use the $TEXT
function to return a single line of INT code.
An optional postconditional expression. Caché executes the ZPRINT
command if the postconditional expression is true (evaluates to a nonzero numeric value). Caché does not execute the command if the postconditional expression is false (evaluates to zero). For further details, refer to Command Postconditional Expressions
in Using Caché ObjectScript
The line to be printed or the first in a range of lines to be displayed or printed. Can be specified in either of the following syntactical forms:
is a positive integer specifying the line number within the current routine. +1 is the first line in the routine, which may be a label line. +0 always returns the empty string.
is a label
within the routine and offset
is the line number counting from the label (with the label itself counting as offset 0). If you omit the offset
option, or specify label+0
, Caché prints the label line. label+1
prints the line after the label.
A label may be longer than 31 characters, but must be unique within the first 31 characters. ZPRINT
matches only the first 31 characters of a specified label
. Label names are case-sensitive, and may contain Unicode characters.
The last line in a range of lines to be displayed. Specify in the same way as lineref1
must be specified to specify lineref2
are separated by a colon (:) character. No whitespace may appear between the colon and lineref2
specifies a non-existent label or offset, ZPRINT
displays from lineref1
to the end of the routine.
Given the following lines of code:
WRITE "A is Abel",!
WRITE "B is Baker",!
WRITE "C is Charlie",!
Def WRITE "D is Delta",!
WRITE "E is Epsilon",!
/* Not sure about E */
WRITE "F is Foxtrot",!
with no lineref
arguments displays all nine lines, including the comment line.
displays from the third line to the end of the routine. Line labels are case-sensitive, so the range endpoint was not found.
© 1997-2019 InterSystems Corporation, Cambridge, MA