SubsetNew (FloatNamedArraylist function)
Create NamedArraylist of items matching some selection criteria (FloatNamedArraylist class)
SubsetNew searches the entire FloatNamedArraylist 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 FloatNamedArraylist.
%outFltNal = fltNal:SubsetNew( selectionCriterion)
|%outFltNal||A FloatNamedArraylist variable of the same type as the method FloatNamedArraylist(fltNal) to contain the items that are located by the search. If outFltNal is not empty, its contents are discarded before it is populated by the items returned from SubsetNew.|
|fltNal||A FloatNamedArraylist object.|
|selectionCriterion||A SelectionCriterion object, which is a relational expression that is applied to a fltNal item value to determine whether the value satisfies the expression. The expression consists of a function, an operator, and a numeric or string 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 fltNal declaration and that returns a numeric or string value. This is described further in "Specifying a SelectionCriterion's parameters".
- SubsetNew is available in Sirius Mods Version 7.6 and later.
In the following fragment, a SubsetNew call is applied to a FloatNamedArraylist of objects of the
annual class that is defined in the request in the "FloatNamedArraylist Minimum function example".
%fann is floatnamedArraylist of object annual %fannNew is floatnamedArraylist of object annual %fann = new %fann(12) = newa(621, 650) %fann(14) = newa(334, 343) %fann(15) = newa(288, 276) %fann(13) = newa(141, 182) %fann(11) = newa(131, 115) %sel is object selectionCriterion for object annual %sel = LT(chg, 0) %fannNew = %fann:findSubsetNew(%sel) %fannNew:print(myprint)
The result shows the default print formatting of item number (position) and item name (float) followed by colons, then the item value (
1: 12: ybegin=621, yend=650 2: 13: ybegin=141, yend=182 3: 14: ybegin=334, yend=343
- FindNextItem is similar to SubsetNew except that it returns just the first matching item it encounters.
- The NamedArraylist SubsetNew and UnicodeNamedArraylist SubsetNew functions also perform the subsetting function — for their respective classes. The examples on those pages may provide additional approaches for SubsetNew.