Trace (GenericNamedArraylist subroutine): Difference between revisions
m (1 revision) |
mNo edit summary |
||
Line 2: | Line 2: | ||
<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. Trace is identical to [[Print (NamedArraylist subroutine)|Print]], 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"> | <table class="syntaxTable"> | ||
<tr><th> | <tr><th>anyNal</th> | ||
<td>A <var>FloatNamedArraylist</var>, <var>NamedArraylist</var>, or <var>UnicodeNamedArraylist</var> object. </td></tr> | <td>A <var>FloatNamedArraylist</var>, <var>NamedArraylist</var>, or <var>UnicodeNamedArraylist</var> object. </td></tr> | ||
<tr><th>itemFunction</th> | <tr><th>itemFunction</th> | ||
<td>The method that is applied to <var class="term">anyNal</var> items to produce the | <td>The method that is applied to <var class="term">anyNal</var> items to produce the displayed output. The method must take no parameters and produce an intrinsic (<var>Float</var>, <var>String</var>, <var>Unicode</var>) value. It may be a system or user-written method, a class <var>Variable</var> or <var>Property</var>, 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> | <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. | <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 | <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 <var class="Term">NumWidth</var> must be a number between <code>-1</code> and <code>10</code> inclusive. If you specify a value of <code>0</code>, the item number is not displayed.</p><p>If <var class="term">NumWidth</var> is <code>-1</code>, 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> | ||
<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> | <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. | <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>) | <p>This is an optional, name required, argument whose default is a colon followed by a space (<code>: </code>).</p> </td></tr> | ||
<tr><th><var>Start</var></th> | <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 | <td>The item number of the initial item in the output display. This is an optional, name required, argument which defaults to <code>1</code>.</td></tr> | ||
<tr><th><var>MaxItems</var></th> | <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. | <td>The maximum number of items to display. A zero or negative value means to display all the items from <var class="term">Start</var> to the end of the <var class="term">anyNal</var>. | ||
<p>This is an optional, name required, argument which defaults to zero | <p>This is an optional, name required, argument which defaults to zero.</p></td></tr> | ||
<tr><th><var>Label</var></th> | <tr><th><var>Label</var></th> | ||
<td>A | <td>A 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 | <p>This is an optional, name required, argument whose default is a null string. </p></td></tr> | ||
<tr><th><var>NameWidth</var></th> | <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]] | <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]] argument. | ||
<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. | <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. For a <var>UnicodeNamedArraylist</var>, 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 "[[Collections#Examples of subscript display format for named collections|Examples of subscript display format for named collections]]"</p> | ||
<p> | <p>The default is <code>-1</code>, 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 <code>Foo</code>, while eight bytes are required for item name <code>Malmberg</code>. If you specify a value of <code>0</code>, the item name is not displayed.</p></td></tr> | ||
</table> | </table> | ||
==Usage | <div id="Usage Notes"></div><!--In case there are old links to this--> | ||
<ul><li>All errors in <var> | ==Usage notes== | ||
<ul> | |||
<li>All errors in <var>Print</var> result in request cancellation. | |||
</ul> | |||
==Examples== | ==Examples== | ||
For examples of <var>Print</var> method calls, see [[Collections#Printing_a_collection|"Printing a collection"]]. | For examples of <var>Print</var> method calls, see [[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}} |
Revision as of 18:30, 7 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, 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 applied to anyNal items to produce the displayed output. The method must take no parameters and produce an intrinsic (Float, String, 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; if you specify a value, the parameter name NumWidth is required.
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 NumWidth must be a number between If NumWidth is |
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 whose default is 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 whose default is 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 |
Usage notes
- All errors in Print result in request cancellation.
Examples
For examples of Print method calls, see "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.