List (Arraylist function): Difference between revisions
m (1 revision) |
m (→Examples) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
<tr><th>%newlist</th> | <tr><th>%newlist</th> | ||
<td>A declared or existing <var>Arraylist</var> object. </td></tr> | <td>A declared or existing <var>Arraylist</var> object. </td></tr> | ||
<tr><th nowrap="true">%(Arraylist)</th> | |||
<td>The class name in parentheses denotes a [[Notation conventions for methods# | <tr><th nowrap="true"><var>[%(Arraylist Of </var>itemType<var>):]</var></th> | ||
<td>The optional class name in parentheses denotes a [[Notation conventions for methods#Constructors|virtual constructor]] method. See "Usage notes," below, for more information about invoking a collection constructor.</td></tr> | |||
<tr><th>itemList</th> | <tr><th>itemList</th> | ||
<td>A comma-delimited set of | <td>A comma-delimited set of a combination of one or more of these: | ||
<ul> | |||
<li>Values or variables of the same type as specified on the <var class="term">al</var> declaration | |||
<li>Collections of objects of the same type as specified on the <var class="term">al</var> declaration | |||
</ul> | |||
Each of these, from left to right, becomes an item or items in the resultant new <var>Arraylist</var>, <var class="term">al</var>. | |||
The ability to include a collection in <var class="term">itemList</var> was added in <var class="product">Sirius Mods</var> 7.9.</td></tr> | |||
</table> | </table> | ||
==Usage notes== | ==Usage notes== | ||
<ul> | <ul> | ||
<li><var>List</var> is a virtual 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><var>List</var> 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: | |||
<p class="code">%al = List(<var class="term">items</var>) | <p class="code">%al = List(<var class="term">items</var>) | ||
%al = %(Arraylist):List(<var class="term">items</var>) | |||
%al = %(Arraylist of float):List(<var class="term">items</var>) | |||
%al = %al:List(<var class="term">items</var>) | %al = %al:List(<var class="term">items</var>) | ||
</p> | </p> | ||
<b | <b>Note: </b> | ||
As shown above, when explicitly indicating the | |||
class, both the collection and the item datatype must be | |||
specified just as they are on the collection variable's declaration: | |||
<p class="code">%al is collection Arraylist of longstring | <p class="code">%al is collection Arraylist of longstring | ||
%al = %(Arraylist of longstring):List('Jack', 'and', 'Jill') | %al = %(Arraylist of longstring):List('Jack', 'and', 'Jill') | ||
</p> | </p> | ||
<li>The maximum number of <var class="term">items</var> values is 62. | |||
<li>You can also use the <var>List</var> method in contexts where an <var>Arraylist</var> object is a method parameter. | <li>You can also use the <var>List</var> method in contexts where an <var>Arraylist</var> object is a method parameter. | ||
<li><var>List</var> is available in <var class="product">[[Sirius Mods|Sirius Mods]]</var> Version 7.3 and later. | <li><var>List</var> is available in <var class="product">[[Sirius Mods|Sirius Mods]]</var> Version 7.3 and later. | ||
Line 31: | Line 46: | ||
==Examples== | ==Examples== | ||
===Creating an Arraylist of numbers=== | ====Creating an Arraylist of numbers==== | ||
The following <var>List</var> method call creates a new <var>Arraylist</var> instance of 11 integer items that begins with 1 and whose subsequent items are, respectively, the sum of the preceding two integers: | The following <var>List</var> method call creates a new <var>Arraylist</var> instance of 11 integer items that begins with 1 and whose subsequent items are, respectively, the sum of the preceding two integers: | ||
<p class="code">%fib is collection arraylist of float | <p class="code">%fib is collection arraylist of float | ||
%fib = list(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89) | %fib = list(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89) | ||
</p> | </p> | ||
===Creating an Arraylist of objects=== | |||
====Creating an Arraylist of objects==== | |||
The following <var>List</var> call creates a new <var>Arraylist</var> instance whose items are objects of user class <var class="term">freight</var>: | The following <var>List</var> call creates a new <var>Arraylist</var> instance whose items are objects of user class <var class="term">freight</var>: | ||
<p class="code">class freight | <p class="code">class freight | ||
Line 51: | Line 67: | ||
newf(-7, 1234)) | newf(-7, 1234)) | ||
</p> | </p> | ||
===Creating an Arraylist from objects and Arraylists=== | |||
====Creating an Arraylist from objects and Arraylists==== | |||
Under <var clas="product">Sirius Mods</var> 7.9 and later it is possible to include collections in the list of items being added. If a collection is in the list, each item in the collection is added to the target <var>Arraylist</var>. | Under <var clas="product">Sirius Mods</var> 7.9 and later it is possible to include collections in the list of items being added. If a collection is in the list, each item in the collection is added to the target <var>Arraylist</var>. | ||
The following <var>List</var> call creates a new <var>Arraylist</var> instance whose items are objects of user class <var class="term">freight</var>, some of them from existing <var>Arraylists</var> <code>%ark1</code> and <code>%ark2</code> and some newly created objects. | The following <var>List</var> call creates a new <var>Arraylist</var> instance whose items are objects of user class <var class="term">freight</var>, some of them from existing <var>Arraylists</var> <code>%ark1</code> and <code>%ark2</code> and some newly created objects. |
Latest revision as of 16:08, 1 November 2012
Construct and populate a new Arraylist (Arraylist class)
The List shared function is a virtual constructor, or factory method, for Arraylistd. List invokes the creation of a new Arraylist instance, then populates that instance with items that are, respectively, the values of the method arguments.
Syntax
%newList = [%(Arraylist Of itemType):]List( itemList)
Syntax terms
%newlist | A declared or existing Arraylist object. |
---|---|
[%(Arraylist Of itemType):] | The optional class name in parentheses denotes a virtual constructor method. See "Usage notes," below, for more information about invoking a collection constructor. |
itemList | A comma-delimited set of a combination of one or more of these:
Each of these, from left to right, becomes an item or items in the resultant new Arraylist, al. The ability to include a collection in itemList was added in Sirius Mods 7.9. |
Usage notes
- List is a virtual 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:
%al = List(items) %al = %(Arraylist of float):List(items) %al = %al:List(items)
Note: As shown above, when explicitly indicating the class, both the collection and the item datatype must be specified just as they are on the collection variable's declaration:
%al is collection Arraylist of longstring %al = %(Arraylist of longstring):List('Jack', 'and', 'Jill')
- The maximum number of items values is 62.
- You can also use the List method in contexts where an Arraylist object is a method parameter.
- List is available in Sirius Mods Version 7.3 and later.
Examples
Creating an Arraylist of numbers
The following List method call creates a new Arraylist instance of 11 integer items that begins with 1 and whose subsequent items are, respectively, the sum of the preceding two integers:
%fib is collection arraylist of float %fib = list(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)
Creating an Arraylist of objects
The following List call creates a new Arraylist instance whose items are objects of user class freight:
class freight public variable a is float variable b is float constructor newf(%a is float, %b is float) end public ... end class ... %ark is arraylist of object freight %ark = list(newf(11, 14), newf(4, 6), newf(9, 77), - newf(-7, 1234))
Creating an Arraylist from objects and Arraylists
Under Sirius Mods 7.9 and later it is possible to include collections in the list of items being added. If a collection is in the list, each item in the collection is added to the target Arraylist.
The following List call creates a new Arraylist instance whose items are objects of user class freight, some of them from existing Arraylists %ark1
and %ark2
and some newly created objects.
class freight public variable a is float variable b is float constructor newf(%a is float, %b is float) end public ... end class ... %ark is arraylist of object freight %ark1 is arraylist of object freight %ark2 is arraylist of object freight %ark = list(newf(11, 14), %ark1, newf(9, 77), %ark2, - newf(-7, 1234))