SubsetNew (Arraylist function): Difference between revisions
m (1 revision) |
m (match syntax diagram to template and fix tags) |
||
Line 1: | Line 1: | ||
{{Template:Arraylist:SubsetNew subtitle}} | {{Template:Arraylist:SubsetNew subtitle}} | ||
<var>SubsetNew</var> searches the entire <var>Arraylist</var> to find and return all items that match a specified criterion. The criterion is supplied by the <var>[[SelectionCriterion class|SelectionCriterion]]</var> object that is the required <var>SubsetNew</var> parameter. If no item satisfies the criterion, <var>SubsetNew</var> returns an empty <var>Arraylist</var>. | |||
all items that match a specified criterion. | |||
The criterion is supplied by the [[SelectionCriterion class|SelectionCriterion]] object | |||
that is the required <var>SubsetNew</var> parameter. | |||
If no item satisfies the criterion, <var>SubsetNew</var> returns an empty <var>Arraylist</var>. | |||
==Syntax== | ==Syntax== | ||
{{Template:Arraylist:SubsetNew syntax}} | {{Template:Arraylist:SubsetNew syntax}} | ||
===Syntax terms=== | ===Syntax terms=== | ||
<table class="syntaxTable"> | <table class="syntaxTable"> | ||
<tr><th | <tr><th><var class="term">%newList</var></th> | ||
<td>An <var>Arraylist</var> variable of the same type as the method <var>Arraylist</var> ( | <td>An <var>Arraylist</var> variable of the same type as the method <var>Arraylist</var> (<var class="term">al</var>) to receive the items that are located by the search. If <var class="term">%newList</var> is not empty, its contents are discarded before it is populated by any items returned from <var>SubsetNew</var>.</td></tr> | ||
<tr><th><i><var class="term">al</var></i></th> | <tr><th><i><var class="term">al</var></i></th> | ||
<td>An <var>Arraylist</var> object. </td></tr> | <td>An <var>Arraylist</var> object. </td></tr> | ||
<tr><th><i> | <tr><th><i>selectionCriterion</i></th> | ||
<td>A <var>SelectionCriterion</var> object, which is a relational expression that is applied to an | <td>A <var>SelectionCriterion</var> object, which is a relational expression that is applied to an <var class="term">al</var> item value to determine whether the value satisfies the expression. The expression consists of a function, an operator, and a numeric or string value.<p>For example, <code>GT(this, -11)</code> is the criterion <code>this > -11</code>, where <code>this</code> is an identity function that simply returns the item's value. The items that satisfy this expression populate the <var>Arraylist</var> that <var>SubsetNew</var> returns.</p><p>The function in the criterion is a method value (a method or class member name literal, or a method variable) for a method that operates on items of the type specified on the <var class="term">al</var> declaration and that returns a numeric or string value. This is described further in "[[SelectionCriterion class#Specifying a SelectionCriterion's parameters|Specifying a SelectionCriterion's parameters]]".</p></td></tr> | ||
<p | |||
The function in the criterion is a method value (a method or class member name literal, or a method variable) for a method that operates on items of the type specified on the | |||
</ | |||
</table> | </table> | ||
==Usage notes== | ==Usage notes== | ||
<ul> | <ul> | ||
<li>[[FindNextItem (Arraylist function)|FindNextItem]] without the | <li><var>[[FindNextItem (Arraylist function)|FindNextItem]]</var> without the <var class="term">Start</var> argument is similar to <var>SubsetNew</var> except that it returns just the first matching item | ||
is similar to <var>SubsetNew</var> except that it returns just the first matching item | |||
it encounters. | it encounters. | ||
<li><var>SubsetNew</var> is available in <var class="product">Sirius Mods</var> version 7.6 and later. | |||
</ul> | </ul> | ||
==Examples== | ==Examples== | ||
< | <ol> | ||
<li>The following request contains two <var>SubsetNew</var> calls, one with a simple | <li>The following request contains two <var>SubsetNew</var> calls, one with a simple selection criterion and one with a compound criterion: | ||
selection criterion and one with a compound criterion: | <p class="code">begin | ||
<p class="code"> | %al is arraylist of float | ||
%alnew is arraylist of float | |||
%al is arraylist of float | %al = list(111, 29, 0, 93, 77, -345) | ||
%alnew is arraylist of float | |||
%al = list(111, 29, 0, 93, 77, -345 | |||
%sel1 is object selectioncriterion for float | |||
%sel2 is object selectioncriterion for float | |||
% | %sel1 = GT(this, 0) | ||
% | %sel2 = AND(GE(this, 50), LT(this, 93)) | ||
%alnew = %al:SubsetNew(%sel1) | |||
Print 'The result of selection1 is:' | |||
%alnew:print | |||
%alnew = %al:SubsetNew(%sel2) | |||
Print 'The result of selection2 is:' | |||
%alnew:print | |||
End | End | ||
</p> | </p> | ||
Line 63: | Line 54: | ||
2: 77 | 2: 77 | ||
</p> | </p> | ||
</ | </ol> | ||
==See also== | ==See also== | ||
{{Template:Arraylist:SubsetNew footer}} | {{Template:Arraylist:SubsetNew footer}} |
Revision as of 06:55, 30 January 2011
Return all matching Arraylist items (Arraylist class)
SubsetNew searches the entire Arraylist to find and return all items that match a specified criterion. The criterion is supplied by the SelectionCriterion object that is the required SubsetNew parameter. If no item satisfies the criterion, SubsetNew returns an empty Arraylist.
Syntax
%newList = al:SubsetNew( selectionCriterion)
Syntax terms
%newList | An Arraylist variable of the same type as the method Arraylist (al) to receive the items that are located by the search. If %newList is not empty, its contents are discarded before it is populated by any items returned from SubsetNew. |
---|---|
al | An Arraylist object. |
selectionCriterion | A SelectionCriterion object, which is a relational expression that is applied to an al item value to determine whether the value satisfies the expression. The expression consists of a function, an operator, and a numeric or string value. For example, The function in the criterion is a method value (a method or class member name literal, or a method variable) for a method that operates on items of the type specified on the al declaration and that returns a numeric or string value. This is described further in "Specifying a SelectionCriterion's parameters". |
Usage notes
- FindNextItem without the Start argument is similar to SubsetNew except that it returns just the first matching item it encounters.
- SubsetNew is available in Sirius Mods version 7.6 and later.
Examples
- The following request contains two SubsetNew calls, one with a simple selection criterion and one with a compound criterion:
begin %al is arraylist of float %alnew is arraylist of float %al = list(111, 29, 0, 93, 77, -345) %sel1 is object selectioncriterion for float %sel2 is object selectioncriterion for float %sel1 = GT(this, 0) %sel2 = AND(GE(this, 50), LT(this, 93)) %alnew = %al:SubsetNew(%sel1) Print 'The result of selection1 is:' %alnew:print %alnew = %al:SubsetNew(%sel2) Print 'The result of selection2 is:' %alnew:print End
The result is:
The result of selection1 is: 1: 111 2: 29 3: 93 4. 77 The result of selection2 is: 1: 93 2: 77