|
|
(2 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| <span style="font-size:120%; color:black"><b><section begin=dpl_desc/>Return number of<section end=dpl_desc/></b></span>
| | #REDIRECT [[FindNextItemNumber (GenericNamedArraylist function)]] |
| [[Category:UnicodeNamedArraylist methods|FindNextItemNumber function]] | |
| <!--DPL?? Category:UnicodeNamedArraylist methods|FindNextItemNumber function: Return number of-->
| |
| <p>
| |
| FindNextItemNumber is a member of the [[UnicodeNamedArraylist class]].
| |
| </p>
| |
| | |
| This function searches “forward” in the UnicodeNamedArraylist to find and
| |
| return the item number of the next item that matches a specified criterion.
| |
| The criterion is supplied by the [[SelectionCriterion class|SelectionCriterion]] object
| |
| that is a required FindNextItemNumber parameter.
| |
| If no item satisfies the criterion, the method returns a zero.
| |
| ==Syntax==
| |
| %itemnum = %unamrayl:FindNextItemNumber(criterion -
| |
| [, Start=itemnum])
| |
| ===Syntax Terms===
| |
| <dl>
| |
| <dt><i>%itemnum</i>
| |
| <dd>A numeric variable to contain the item number of the
| |
| item that is located by the search.
| |
| <dt><i>%unamrayl</i>
| |
| <dd>A UnicodeNamedArraylist object.
| |
| <dt><i>criterion</i>
| |
| <dd>A SelectionCriterion object, which is a relational expression that is
| |
| applied to a ''%unamrayl'' item value to determine
| |
| whether the value satisfies the expression.
| |
| The expression consists of a function, an operator, and a User Language intrinsic type
| |
| (numeric, string, or Unicode) value.
| |
| | |
| For example, <tt>GT(this, 21)</tt> is the
| |
| criterion <tt>this</tt> <tt>></tt> <tt>21</tt>, where
| |
| <tt>this</tt> is an identity function that simply returns the item's value.
| |
| The item number of the first item tested by FindNextItemNumber that satisfies
| |
| this expression is the method's return value.
| |
| | |
| 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 ''%unamrayl''
| |
| declaration and that returns an intrinsic value.
| |
| This is described further in "[[SelectionCriterion class#Specifying a SelectionCriterion's parameters|Specifying a SelectionCriterion's parameters]]".
| |
| <dt><b>Start=</b><i> itemnum</i>
| |
| <dd>The number of the item ''after'' which to begin the search.
| |
| If the ''itemnum'' value of Start is 2, item 3 is the first item
| |
| considered.
| |
| The value of Start may be 0 through the number of items in the
| |
| UnicodeNamedArraylist.
| |
| For a UnicodeNamedArraylist of three items, ''itemnum'' may be 0, 1, 2,
| |
| or 3.
| |
| | |
| This is an optional argument, and it defaults to 0.
| |
| If you specify a value, the parameter name <tt>Start</tt> is required.
| |
| | |
| </dl>
| |
| ==Usage Notes==
| |
| <ul>
| |
| <li>If the value of Start is greater than the number of items in the
| |
| UnicodeNamedArraylist, the request is cancelled.
| |
| If the value of Start is equal to the number of items, FindNextItemNumber
| |
| returns a zero.
| |
| <li>[[FindPreviousItemNumber (UnicodeNamedArraylist function)|FindPreviousItemNumber]] is identical
| |
| to FindNextItemNumber except that it searches backward in the UnicodeNamedArraylist.
| |
| </ul>
| |
| ==Examples==
| |
| | |
| The following request contains two FindNextItemNumber calls and one
| |
| FindPreviousItemNumber call:
| |
| <pre style="xmp">
| |
| Begin
| |
| | |
| %k is unicodeNamedArraylist of longstring
| |
| %k = new
| |
| %k('§Jan':u) = 'Orion'
| |
| %k('§Apr':u) = 'Leo'
| |
| %k('§Mar':u) = 'Cancer'
| |
| %k('§Jun':u) = 'Ursa Minor'
| |
| %k('§Nov':u) = 'Andromeda'
| |
| %k('§Dec':u) = 'Aries'
| |
| %k('§Feb':u) = 'Canis Major'
| |
| | |
| %sel is object selectionCriterion for longstring
| |
| %n is float
| |
| %sel = LT(this, 'C')
| |
| | |
| %n = %k:findNextitemNumber(%sel)
| |
| Print %k:nameByNumber(%n)
| |
| | |
| %n = %k:FindNextItemNumber(%sel, start=%n)
| |
| Print %k:nameByNumber(%n)
| |
| | |
| %n = %k:FindPreviousItemNumber(EQ(this, 'Leo'), start=%n)
| |
| Print %k:nameByNumber(%n)
| |
| | |
| End
| |
| </pre>
| |
| | |
| The result is:
| |
| <pre style="xmp">
| |
| §.Dec
| |
| §.Nov
| |
| §.Apr
| |
| </pre>
| |