Print (GenericNamedArraylist subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:GenericNamedArraylist:Print subtitle}}
{{Template:GenericNamedArraylist:Print subtitle}}
 
This subroutine displays the contents of a <var>[[FloatNamedArraylist class|FloatNamedArraylist]]</var>, <var>[[NamedArraylist class|NamedArraylist]]</var>, or <var>[[UnicodeNamedArraylist class|UnicodeNamedArraylist]]</var> on the user's standard output device, typically a terminal. The list item values, displayed in order by their subscript names, are preceded by their item number and item name, both of which by default are followed by a colon and a blank space (<code>: </code>).
This subroutine displays the contents of a <var>[[FloatNamedArraylist class|FloatNamedArraylist]]</var>, <var>[[NamedArraylist class|NamedArraylist]]</var>, or <var>[[UnicodeNamedArraylist class|UnicodeNamedArraylist]]</var> on the user's standard output device, typically a terminal. The list item values, displayed in order by their subscript names, are preceded by their item number and item name, both of which by default are followed by a colon and a blank space (<code>: </code>).
 
==Syntax==
==Syntax==
{{Template:GenericNamedArraylist:Print syntax}}
{{Template:GenericNamedArraylist:Print 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>
<tr><th>itemFunction</th>
<td>The method that is to be applied to <var class="term">al</var> items to produce the printed output. The <var class="term">itemFunction</var> method must take no parameters and produce an <var>[[Intrinsic classes|intrinsic]]</var> (be that <var>Float</var>, <var>String</var> or <var>Unicode</var>) value. It may be a system or user-written method, a class variable or property, a local method, or a [[Method variables|method variable]].
<p>The default value of <var class="term">itemFunction</var> is <var>[[Collections#Examples using class or local ToString|ToString]]</var>.</p></td></tr>
<tr><th><var>NumWidth</var></th>
<td>The number of bytes in the display of each item to use for the item names. This is an optional, but <var>[[Methods#Named parameters|NameRequired]]</var>, parameter.  The default value is -1, which indicates that each item name is displayed using as many bytes as is required for the name.  A value of 0 indicates that item names are note displayed.
<ul><li>For a <var>NamedArraylist</var>, the item names are displayed as is, left-justified within the indicated number of bytes, truncated on the right if necessary.<li>For a <var>UnicodeNamedArraylist</var>, the items names are converted to EBCDIC (using character encoding for untranslatable characters), left-justified within the indicated number of bytes, truncated on the right if necessary.  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]]".<li>For a <var>FloatNamedArraylist</var>, (numeric) item names are right-justified within the indicated number of bytes, and they are truncated on the left if necessary.</ul><p>The <var class="Term">NumWidth</var> must be a number between <code>-1</code> and <code>10</code> inclusive.</p></td></tr>
<tr><th><var>Separator</var></th>
<td>A string, 15 characters or less, to be used to separate the item number from the item value. This is an optional, but <var>[[Methods#Named parameters|NameRequired]]</var> argument; if you specify a value, the parameter name <var class="term">Separator</var> is required.<p>The default value for <var>Separator</var> is a colon (<code>':'</code>); and a blank always follows the <var class="term">Separator</var> string.</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, but <var>[[Methods#Named parameters|NameRequired]]</var>, argument; if you specify a value, the parameter name <var class="term">Start</var> is required.<p>The default value for <var>Start</var> is <code>1</code>; to start with the first item in the <var class="term">al</var>.</p></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. This is an optional, but <var>[[Methods#Named parameters|NameRequired]]</var>, argument; if you specify a value, the parameter name <var class="term">MaxItems</var> is required.<p>The default value for <var>MaxItems</var> is <code>0</code>; to display all items from <var class="term">Start</var> to the end of the <var class="term">al</var>.</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. This is an optional, but <var>[[Methods#Named parameters|NameRequired]]</var>, argument; if you specify a value, the parameter name <var class="term">Label</var> is required.<p>The default value for <var>Label</var> is the null string <code><nowiki>''</nowiki></code>; to <b><i>not</i></b> display any additional "tag" information.</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. If you specify a value, the parameter name <var class="term">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 <code>0</code>, the item name is not displayed.</p>
<p>This is an optional argument; it defaults to <code>-1</code>, 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==
==Usage notes==
<ul>
<ul>
<li>All errors in <var>Print</var> result in request cancellation.
<li>All errors in <var>Print</var> result in request cancellation.
<li><var>[[Audit (GenericNamedArraylist subroutine)|Audit]]</var> and <var>[[Trace (GenericNamedArraylist subroutine)|Trace]]</var> are similar to <var>Print</var> except they send their output to the <var class="product">Model 204</var> audit trail and trace destinations, respectively.
</ul>
</ul>
 
==Examples==
==Examples==
<ol><li>For examples of Print 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"]].
</ol>
 
==See also==
==See also==
<ul>
<li><var>[[Audit (GenericNamedArraylist subroutine)|Audit]]</var> and <var>[[Trace (GenericNamedArraylist subroutine)|Trace]]</var> are similar to <var>Print</var> except they send their output to the <var class="product">Model 204</var> audit trail and trace destinations, respectively.
</ul>
{{Template:GenericNamedArraylist:Print footer}}
{{Template:GenericNamedArraylist:Print footer}}

Latest revision as of 21:42, 8 August 2012

Print items (FloatNamedArraylist, NamedArraylist, and UnicodeNamedArraylist classes)


This subroutine displays the contents of a FloatNamedArraylist, NamedArraylist, or UnicodeNamedArraylist on the user's standard output device, typically a terminal. The list item values, displayed in order by their subscript names, are preceded by their item number and item name, both of which by default are followed by a colon and a blank space (: ).

Syntax

anyNal:Print[( [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 Print result in request cancellation.

Examples

For examples of Print method calls, see "Printing a collection".

See also

  • Audit and Trace are similar to Print except they send their output to the Model 204 audit trail and trace destinations, respectively.