Trace (GenericNamedArraylist subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
mNo edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:GenericNamedArraylist:Trace subtitle}}
{{Template:GenericNamedArraylist:Trace subtitle}}
<var>Trace</var> displays the contents of a <var>[[FloatNamedArraylist class|FloatNamedArraylist]]</var>, <var>[[NamedArraylist class|NamedArraylist]]</var>, or <var>[[UnicodeNamedArraylist class|UnicodeNamedArraylist]]</var> in a readable form, useful for debugging, for example.  Trace is identical to [[Print (NamedArraylist subroutine)|Print]], except the result is
<var>Trace</var> displays the contents of a <var>[[FloatNamedArraylist class|FloatNamedArraylist]]</var>, <var>[[NamedArraylist class|NamedArraylist]]</var>, or <var>[[UnicodeNamedArraylist class|UnicodeNamedArraylist]]</var> in a readable form, useful for debugging, for example.  <var>Trace</var> is identical to <var>[[Print (GenericNamedArraylist subroutine)|Print]]</var> and <var>[[Audit (GenericNamedArraylist subroutine)|Audit]]</var>, except the result is sent to the selected Trace stream (like the <var class="product">User Language</var> <var>Trace</var> statement).
sent to the selected Trace stream (like the <var class="product">User Language</var> <var>Trace</var> statement).
 
==Syntax==
==Syntax==
{{Template:GenericNamedArraylist:Trace syntax}}
{{Template:GenericNamedArraylist:Trace syntax}}
 
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
{{Template:PrintAuditTrace GenNamedArraylist syntax terms}}
<tr><th>%anyNal</th>
<td>A <var>FloatNamedArraylist</var>, <var>NamedArraylist</var>, or <var>UnicodeNamedArraylist</var> object. </td></tr>
<div id="Usage Notes"></div><!--In case there are old links to this-->
 
<tr><th>itemFunction</th>
<td>The method that is applied to <var class="term">anyNal</var> items to produce the printed output. The method must take no parameters and produce an intrinsic (Float, String, Fixed, Unicode) value. It may be a system or user-written method, a class Variable or Property, a [[Local_and_Common_entities#Defining_and_invoking_a_local_method|local method]], or a [[Method variables|method variable]]. The default value of <var class="term">itemFunction</var> is <var>ToString</var>. </td></tr>
 
<tr><th><var>NumWidth</var></th>
<td>The number of bytes in the display of each item to use for the item number. This is an optional, [[Methods#Named parameters|name required]], parameter; if you specify a value, the parameter name <var>NumWidth</var> is required.
<p>Item numbers are right-justified within the indicated number of bytes, and they are truncated on the left if the length of the item number exceeds the space allocated for it. The width must be a number between -1 and 10 inclusive. If you specify a value of 0, the item number is not displayed.</p>
<p>If <var>NumWidth</var> is -1, the default, the method uses the minimum number of bytes required to show the item number. For example, one byte is required for item number 5, while five bytes are required for item number 98764.</p></td></tr>
 
<tr><th><var>Separator</var></th>
<td>A <var>String</var>, 15 characters or less, to be used to separate both the item number and the item name from what follows. That is, the <var class="term">string</var> you specify appears twice: once after the item number and once after the item name. 
<p>This is an optional, name required, argument whose default is a colon (<code>:</code>). A blank always follows the <i>separator</i> string. If you specify a value, the parameter name <var>Separator</var> is required.</p> </td></tr>
 
<tr><th><var>Start</var></th>
<td>The item number of the initial item in the output display. This is an optional, name required, argument which defaults to 1. If you specify a value, the parameter name <var>Start</var> is required. </td></tr>
 
<tr><th><var>MaxItems</var></th>
<td>The maximum number of items to display. A zero or negative value means to display all the items.
<p>This is an optional, name required, argument which defaults to zero. If you specify a value, the parameter name <var>MaxItems</var> is required. </p></td></tr>
 
<tr><th><var>Label</var></th>
<td>A literal string that gets output before each line. This is useful for "tagging" lines to make them more identifiable.
<p>This is an optional, name required, argument whose default is a null string. If you specify a value, the parameter name <var>Label</var> is required.</p></td></tr>
 
<tr><th><var>NameWidth</var></th>
<td>The number of bytes in the display of the item name. This must be a number from -1 through 255. This is an optional, [[Methods#Named parameters|name required]], if you specify a value, the parameter name <var>NameWidth</var> is required.
<p>Item names are left-justified within the indicated number of bytes, and they are truncated on the right if the length of the item name exceeds the space allocated for it.  If you specify a value of 0, the item name is not displayed.</p>
<p>This is an optional argument; it defaults to -1, which directs the method to use whatever number of bytes are necessary to show the entire item name. For example, three bytes are required for item name <code>Foo</code>, while eight bytes are required for item name <code>Malmberg</code>.</p></td></tr>
</table>
 
==Usage Notes==
<ul><li>All errors in <var>Trace</var> result in request cancellation.</ul>


==Usage notes==
<ul>
<li>All errors in <var>Trace</var> result in request cancellation.
</ul>
==Examples==
==Examples==
For examples of <var>Print</var> method calls, see [[Collections#Printing_a_collection|"Printing a collection"]].
To see what <var>Trace</var> displays are like, see the <var>Print</var> method calls in [[Collections#Printing_a_collection|"Printing a collection"]].
 
==See also==
==See also==
<ul><li><var>[[Audit_(GenericNamedArraylist_subroutine)|Audit]]</var> and <var>[[Print_(GenericNamedArraylist_subroutine)|Print]]</var> are the same as <var>Trace</var> except they send their output to the <var class="product">Model 204</var> audit trail or to the user's standard output destination, respectively.</ul>
<ul>
<li><var>[[Audit_(GenericNamedArraylist_subroutine)|Audit]]</var> and <var>[[Print_(GenericNamedArraylist_subroutine)|Print]]</var> are the same as <var>Trace</var> except they send their output to the <var class="product">Model 204</var> audit trail or to the user's standard output destination, respectively.
</ul>
{{Template:GenericNamedArraylist:Trace footer}}
{{Template:GenericNamedArraylist:Trace footer}}

Latest revision as of 22:18, 8 August 2012

Trace items (FloatNamedArraylist, NamedArraylist, and UnicodeNamedArraylist classes)

Trace displays the contents of a FloatNamedArraylist, NamedArraylist, or UnicodeNamedArraylist in a readable form, useful for debugging, for example. Trace is identical to Print and Audit, except the result is sent to the selected Trace stream (like the User Language Trace statement).

Syntax

anyNal:Trace[( [itemFunction], [NumWidth= number], [Separator= string], - [Start= number], [MaxItems= number], [Label= string], - [NameWidth= number])]

Syntax terms

anyNal A FloatNamedArraylist, NamedArraylist, or UnicodeNamedArraylist object.
itemFunction The method that is to be applied to anyNal items to produce the printed output. The itemFunction method must take no parameters and produce an intrinsic (Float, String, or Unicode) value. It may be a system or user-written method, a class Variable or Property, a local method, or a method variable.

The default value of itemFunction is ToString.

NumWidth The number of bytes in the display of each item to use for the item number. This is an optional, name required, parameter.

Item numbers are right-justified within the indicated number of bytes, and they are truncated on the left if the length of the item number exceeds the space allocated for it. NumWidth must be a number between -1 and 10 inclusive. If you specify a value of 0, the item number is not displayed.

If NumWidth is -1, the default, the method uses the minimum number of bytes required to show the item number. For example, one byte is required for item number 5, while five bytes are required for item number 98764.

Separator A string, 15 characters or less, to be used to separate both the item number and the item name from what follows. That is, the string you specify appears twice: once after the item number, and once after the item name.

This is an optional, name required, argument which defaults to a colon followed by a space (: ).

Start The item number of the initial item in the output display. This is an optional, name required, argument which defaults to 1.
MaxItems The maximum number of items to display. A zero or negative value means to display all the items from Start to the end of the anyNal.

This is an optional, name required, argument which defaults to zero.

Label A string that gets output before each line. This is useful for "tagging" lines to make them more identifiable.

This is an optional, name required, argument which defaults to a null string.

NameWidth The number of bytes in the display of the item name. This must be a number from -1 through 255. This is an optional, name required, argument.

Item names are left-justified within the indicated number of bytes, and they are truncated on the right if the length of the item name exceeds the space allocated for it. For a UnicodeNamedArraylist, the items names are converted to EBCDIC (using character encoding for untranslatable characters). This can result in names being truncated in the middle of a character encoding, as shown in "Examples of subscript display format for named collections"

The default is -1, which directs the method to use as many bytes as necessary to show the entire item name. For example, three bytes are required for item name Foo, while eight bytes are required for item name Malmberg. If you specify a value of 0, the item name is not displayed.

Usage notes

  • All errors in Trace result in request cancellation.

Examples

To see what Trace displays are like, see the Print method calls in "Printing a collection".

See also

  • Audit and Print are the same as Trace except they send their output to the Model 204 audit trail or to the user's standard output destination, respectively.