FindPreviousItemNumber (Arraylist function): Difference between revisions
m (what was I thiking with those blank lines) |
m (what was I thiking with those blank lines) |
||
Line 12: | Line 12: | ||
<tr><th>selectionCriterion</th> | <tr><th>selectionCriterion</th> | ||
<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 <var class="term">this</var> is an identity function that simply returns the item's value. The item number of the first item tested by <var>FindPreviousItemNumber</var> that satisfies this expression is the method's return value.</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> | <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 <var class="term">this</var> is an identity function that simply returns the item's value. The item number of the first item tested by <var>FindPreviousItemNumber</var> that satisfies this expression is the method's return value.</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> | ||
<tr><th>Start</th> | <tr><th><var>Start</var></th> | ||
<td>The number of the item <b><i>before</i></b> which to begin the search. If the <var class="term">number</var> value of <var class="term">Start</var> is 4, item 3 is the first item considered. The value of <var class="term">Start</var> may be 1 through the number of items in the <var>Arraylist</var> plus one. For a collection of three items, <var class="term">number</var> may be 1, 2, 3, or 4.<p>The default value for <var>Start</var> is the number of items in the collection plus one; to start from the last item in <var class="term">al</var>.</p><p>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></td></tr> | <td>The number of the item <b><i>before</i></b> which to begin the search. If the <var class="term">number</var> value of <var class="term">Start</var> is 4, item 3 is the first item considered. The value of <var class="term">Start</var> may be 1 through the number of items in the <var>Arraylist</var> plus one. For a collection of three items, <var class="term">number</var> may be 1, 2, 3, or 4.<p>The default value for <var>Start</var> is the number of items in the collection plus one; to start from the last item in <var class="term">al</var>.</p><p>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></td></tr> | ||
</table> | </table> |
Revision as of 23:49, 12 April 2011
Return number of matching item (Arraylist class)
FindPreviousItemNumber searches "backward" in the Arraylist to find and return the item number of the previous item that matches a specified criterion. The criterion is supplied by the SelectionCriterion object that is a required FindPreviousItemNumber parameter. If no item satisfies the criterion, the method returns a zero.
Syntax
%number = al:FindPreviousItemNumber( selectionCriterion, [Start= number])
Syntax terms
%number | A numeric variable to return the item number of the item that is located by the search. |
---|---|
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". |
Start | The number of the item before which to begin the search. If the number value of Start is 4, item 3 is the first item considered. The value of Start may be 1 through the number of items in the Arraylist plus one. For a collection of three items, number may be 1, 2, 3, or 4. The default value for Start is the number of items in the collection plus one; to start from the last item in al. This is an optional, but NameRequired, argument; if you specify a value, the parameter name Start is required. |
Usage notes
- If the value of Start is not in the range of 2 through one plus the number of items in the Arraylist, the request is cancelled. If the value of Start is 1, no item can be found and FindPreviousItemNumber returns a zero.
- FindPreviousItemNumber is available in "Sirius Mods" Version 7.6 and later.
Examples
- The following request contains two FindPreviousItemNumber calls: the first, for an Arraylist of strings, starts checking the last item first, by default; the second call, for an Arraylist of float, uses a compound criterion:
begin %al is arraylist of string len 10 %al2 is arraylist of float %al = list('boston', 'belmont', 'brighton', - 'bedford', 'boxford') %al2 = list(111, 29, 0, 93, 77, -345) %sel is object SelectionCriterion for string len 10 %sel2 is object selectioncriterion for float %sel = LT(this, 'boston') %sel2 = OR(GT(this, 100), LT(this, 0)) printText {~} is: {%al:findPreviousItemNumber(%sel)} printtext {~} is: {%al2:findPreviousItemNumber(%sel2, start=6)} end
The result is:
%al:findPreviousItemNumber(%sel) is: 4 %al2:findPreviousItemNumber(%sel2, start=6) is: 1
See also
- FindNextItemNumber is identical to FindPreviousItemNumber except that it searches forward in the Arraylist.