Print (GenericNamedArraylist subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
Line 10: Line 10:
<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 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>, <var>Fixed</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]].
<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>
<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>
<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, but <var>[[Methods#Named parameters|NameRequired]]</var>, parameter; if you specify a value, the parameter name <var class="term">NumWidth</var> is required.<p>
<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.
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>
<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>
<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>
<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>

Revision as of 03:47, 7 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 al items to produce the printed output. The itemFunction method must take no parameters and produce an intrinsic (be that 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 names. This is an optional, but NameRequired, 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.
  • For a NamedArraylist, the item names are displayed as is, left-justified within the indicated number of bytes, truncated on the right if necessary.
  • For a UnicodeNamedArraylist, 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 "Examples of subscript display format for named collections".
  • For a FloatNamedArraylist, (numeric) item names are right-justified within the indicated number of bytes, and they are truncated on the left if necessary.

The NumWidth must be a number between -1 and 10 inclusive.

Separator A string, 15 characters or less, to be used to separate the item number from the item value. This is an optional, but NameRequired argument; if you specify a value, the parameter name Separator is required.

The default value for Separator is a colon (':'); and a blank always follows the Separator string.

Start The item number of the initial item in the output display. This is an optional, but NameRequired, argument; if you specify a value, the parameter name Start is required.

The default value for Start is 1; to start with the first item in the al.

MaxItems The maximum number of items to display. A zero or negative value means to display all the items. This is an optional, but NameRequired, argument; if you specify a value, the parameter name MaxItems is required.

The default value for MaxItems is 0; to display all items from Start to the end of the al.

Label 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 NameRequired, argument; if you specify a value, the parameter name Label is required.

The default value for Label is the null string ''; to not display any additional "tag" information.

NameWidth 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 NameWidth is required.

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.

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 Foo, while eight bytes are required for item name Malmberg.

Usage notes

  • All errors in Print result in request cancellation.
  • Audit and Trace are similar to Print except they send their output to the Model 204 audit trail and trace destinations, respectively.

Examples

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

See also