List (Stringlist function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 1: Line 1:
{{Template:Stringlist:List subtitle}}
{{Template:Stringlist:List subtitle}}


This shared function is a virtual constructor, or factory method, for Stringlists. The List method invokes the creation of a new Stringlist instance, then populates that instance with items that are, respectively, the values of the method arguments.
This shared function is a virtual constructor, or factory method, for <var>Stringlist</var>s. The List method invokes the creation of a new <var>Stringlist</var> instance, then populates that instance with items that are, respectively, the values of the method arguments.


==Syntax==
==Syntax==
Line 8: Line 8:
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%sl</th>
<tr><th>%sl</th>
<td>A declared or existing Stringlist object.</td></tr>
<td>A declared or existing <var>Stringlist</var> object.</td></tr>
<tr><th>itemlist</th>
<tr><th>itemlist</th>
<td>A comma-delimited set of strings, each of which, from left to right, becomes an item in the resultant new Stringlist, '''%sl'''.</td></tr>
<td>A comma-delimited set of strings, each of which, from left to right, becomes an item in the resultant new <var>Stringlist</var>, '''%sl'''.</td></tr>
</table>
</table>


Line 16: Line 16:
<ul>
<ul>
<li>The List method requires at least one argument, which may be null.
<li>The List method requires at least one argument, which may be null.
<li>If an existing Stringlist is set to receive the result of the List method, the items in that Stringlist are entirely removed; then the new items are added.<li>The maximum number of '''itemlist''' values is 62.<li>List is a constructor and as such can be called with no method object, with an explicit class name, or with an object variable, even if that object is null:
<li>If an existing <var>Stringlist</var> is set to receive the result of the List method, the items in that <var>Stringlist</var> are entirely removed; then the new items are added.<li>The maximum number of '''itemlist''' values is 62.<li>List is a constructor and as such can be called with no method object, with an explicit class name, or with an object variable, even if that object is null:
<pre>
<pre>
%sl = List(<i>itemlist</i></i>
%sl = List(<i>itemlist</i></i>
%sl = %(Stringlist):List(<i>itemlist</i></i>
%sl = %(<var>Stringlist</var>):List(<i>itemlist</i></i>
%sl = %sl2:List(<i>itemlist</i></i>
%sl = %sl2:List(<i>itemlist</i></i>
</pre>
</pre>
Line 27: Line 27:
==Examples==
==Examples==
<ul>
<ul>
<li>The following List method call creates a new Stringlist instance whose three items are, respectively, the strings <tt>.Moe</tt>, <tt>.Larry</tt>, and <tt>.Curly</tt>:
<li>The following List method call creates a new <var>Stringlist</var> instance whose three items are, respectively, the strings <tt>.Moe</tt>, <tt>.Larry</tt>, and <tt>.Curly</tt>:
<pre>
<pre>
%sl is object stringlist
%sl is object stringlist
%sl = list('Moe', 'Larry', 'Curly')
%sl = list('Moe', 'Larry', 'Curly')
</pre>
</pre>
<li>You can use the List method in contexts where a Stringlist is a method parameter. For example, the Run method of the Daemon class takes a Stringlist object as an argument. A List method call can be used for such an argument, as shown below:
<li>You can use the List method in contexts where a <var>Stringlist</var> is a method parameter. For example, the Run method of the Daemon class takes a <var>Stringlist</var> object as an argument. A List method call can be used for such an argument, as shown below:
<pre>
<pre>
%d is object daemon
%d is object daemon
Line 40: Line 40:
</pre>
</pre>


It is necessary above to specify the class <tt>.%(Stringlist):</tt> preceding the keyword <tt>.List</tt>, because Strings are also valid in the first argument for Run, and <tt>.List</tt> without a qualifier could be interpreted as a field called <tt>.List</tt>.  
It is necessary above to specify the class <tt>.%(<var>Stringlist</var>):</tt> preceding the keyword <tt>.List</tt>, because Strings are also valid in the first argument for Run, and <tt>.List</tt> without a qualifier could be interpreted as a field called <tt>.List</tt>.  
However, in a case where a Stringlist argument is expected, you can specify the <tt>.List</tt> keyword without a qualifier. For example, a user method called Stuffit takes a Stringlist input:
However, in a case where a <var>Stringlist</var> argument is expected, you can specify the <tt>.List</tt> keyword without a qualifier. For example, a user method called Stuffit takes a <var>Stringlist</var> input:


<pre>
<pre>

Revision as of 21:33, 18 January 2011

Construct a new Stringlist from list of strings (Stringlist class)


This shared function is a virtual constructor, or factory method, for Stringlists. The List method invokes the creation of a new Stringlist instance, then populates that instance with items that are, respectively, the values of the method arguments.

Syntax

%newList = [%(Stringlist):]List( itemList)

Syntax terms

%sl A declared or existing Stringlist object.
itemlist A comma-delimited set of strings, each of which, from left to right, becomes an item in the resultant new Stringlist, %sl.

Usage notes

  • The List method requires at least one argument, which may be null.
  • If an existing Stringlist is set to receive the result of the List method, the items in that Stringlist are entirely removed; then the new items are added.
  • The maximum number of itemlist values is 62.
  • List is a constructor and as such can be called with no method object, with an explicit class name, or with an object variable, even if that object is null:
    %sl = List(<i>itemlist</i></i>
    %sl = %(<var>Stringlist</var>):List(<i>itemlist</i></i>
    %sl = %sl2:List(<i>itemlist</i></i>
    
  • See factory methods for more information.

Examples

  • The following List method call creates a new Stringlist instance whose three items are, respectively, the strings .Moe, .Larry, and .Curly:
    %sl is object stringlist
    %sl = list('Moe', 'Larry', 'Curly')
    
  • You can use the List method in contexts where a Stringlist is a method parameter. For example, the Run method of the Daemon class takes a Stringlist object as an argument. A List method call can be used for such an argument, as shown below:
    %d is object daemon
    ...
    %d:run(%(stringlist):list('*LOWER', 'b', -
    'printText Whatever', 'printText More', 'end')):print
    

    It is necessary above to specify the class .%(Stringlist): preceding the keyword .List, because Strings are also valid in the first argument for Run, and .List without a qualifier could be interpreted as a field called .List. However, in a case where a Stringlist argument is expected, you can specify the .List keyword without a qualifier. For example, a user method called Stuffit takes a Stringlist input:

    %foo:stuffit(list('Hickory', 'Dickory', 'Doc'))