Not (SelectionCriterion function): Difference between revisions
m (→Syntax terms) |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:SelectionCriterion:Not subtitle}} | |||
This shared method creates a new SelectionCriterion object | This [[Notation conventions for methods#Shared members|shared method]] creates a new <var>SelectionCriterion</var> object | ||
that is a logical negation of its SelectionCriterion parameter. | that is a logical negation of its <var>SelectionCriterion</var> parameter. | ||
A | A <var>Not</var> criterion returns true for a collection item if <var>Not</var>'s | ||
component SelectionCriterion expression is false for the item; | component <var>SelectionCriterion</var> expression is false for the item; | ||
otherwise it returns true. | otherwise it returns true. | ||
The collection searching method | The [[Collections#Searching a collection|collection searching method]] | ||
that makes use of this | that makes use of this <var>SelectionCriterion</var> specifies: | ||
<ul> | <ul> | ||
<li>Whether to return the first item or item number or all items that satisfy the | <li>Whether to return the first item or item number or all items that satisfy the | ||
Line 20: | Line 14: | ||
<li>Where in the collection to begin searching. | <li>Where in the collection to begin searching. | ||
</ul> | </ul> | ||
==Syntax== | |||
{{Template:SelectionCriterion:Not syntax}} | |||
===Syntax terms=== | ===Syntax terms=== | ||
< | <table class="syntaxTable"> | ||
< | <tr><th>%selectionCriterion</th> | ||
< | <td>A <var>SelectionCriterion</var> object variable to contain the new object instance. </td></tr> | ||
< | <tr><th nowrap="true"><var>[%(SelectionCriterion For </var>itemType<var>):]</var> | ||
< | <td>This optional specification of the class in parentheses denotes a [[Notation conventions for methods#Constructors|virtual constructor]]. See [[#Usage notes|"Usage notes"]], below, for more information about invoking a <var>SelectionCriterion</var> virtual constructor. </td></tr> | ||
in parentheses | <tr><th>selectionCriterion</th> | ||
<td>A SelectionCriterion object. </td></tr> | |||
< | </table> | ||
< | |||
==Usage Notes== | |||
<ul> | |||
<li>As described in [[Object variables#Virtual Constructor methods|"Virtual Constructor methods"]], <var>Not</var> can be invoked with | |||
no method object, with an explicit class specification, or with an object variable of the class, | |||
even if that object is <var>Null</var>: | |||
<p class="code">%selCrit = Not(<i>criterion</i>) | |||
</ | %selCrit = %(SelectionCriterion for float):Not(<i>criterion</i>) | ||
The | %selCrit = %selCrit:Not(<i>criterion</i>) | ||
do with the | </p> | ||
'''Note:''' | |||
As shown in the second of these above, if you explicitly specify the | |||
class name, you must include the item datatype of the collection to be searched, just as on a <var>SelectionCriterion</var> object variable's [[SelectionCriterion class#Declaring a SelectionCriterion object variable|declaration]]. | |||
<li>The <var>Not</var> constructor is '''never''' necessary, and anything you can | |||
do with the <var>Not</var> can be done (probably more clearly) otherwise. | |||
For example, the following two criteria are identical: | For example, the following two criteria are identical: | ||
< | <p class="code"> | ||
%sel = not(gt(this(90)) | |||
%sel = le(this(90)) | |||
</ | </p> | ||
And the following two criteria are identical: | And the following two criteria are identical: | ||
< | <p class="code">%sel = not(or(lt(this,70), ge(this,95))) | ||
%sel = and(ge(this,70), lt(this,95)) | |||
</ | </p> | ||
And these criteria are identical: | And these criteria are identical: | ||
< | <p class="code">%sel = not(true) | ||
%sel = false | |||
</p> | |||
Internally, <var>Not</var>s are always converted to the inverse of the parameter criterion. | |||
</ul> | |||
==See also== | |||
{{Template:SelectionCriterion:Not footer}} | |||
[[Category:SelectionCriterion methods]] |
Latest revision as of 21:13, 30 November 2011
Matches an item if it does not meet the criterion (SelectionCriterion class)
This shared method creates a new SelectionCriterion object
that is a logical negation of its SelectionCriterion parameter.
A Not criterion returns true for a collection item if Not's
component SelectionCriterion expression is false for the item;
otherwise it returns true.
The collection searching method that makes use of this SelectionCriterion specifies:
- Whether to return the first item or item number or all items that satisfy the selection criterion.
- Where in the collection to begin searching.
Syntax
%selectionCriterion = [%(SelectionCriterion For itemType):]Not( selectionCriterion)
Syntax terms
%selectionCriterion | A SelectionCriterion object variable to contain the new object instance. |
---|---|
[%(SelectionCriterion For itemType):] | This optional specification of the class in parentheses denotes a virtual constructor. See "Usage notes", below, for more information about invoking a SelectionCriterion virtual constructor. |
selectionCriterion | A SelectionCriterion object. |
Usage Notes
- As described in "Virtual Constructor methods", Not can be invoked with
no method object, with an explicit class specification, or with an object variable of the class,
even if that object is Null:
%selCrit = Not(criterion) %selCrit = %(SelectionCriterion for float):Not(criterion) %selCrit = %selCrit:Not(criterion)
Note: As shown in the second of these above, if you explicitly specify the class name, you must include the item datatype of the collection to be searched, just as on a SelectionCriterion object variable's declaration.
- The Not constructor is never necessary, and anything you can
do with the Not can be done (probably more clearly) otherwise.
For example, the following two criteria are identical:
%sel = not(gt(this(90)) %sel = le(this(90))
And the following two criteria are identical:
%sel = not(or(lt(this,70), ge(this,95))) %sel = and(ge(this,70), lt(this,95))
And these criteria are identical:
%sel = not(true) %sel = false
Internally, Nots are always converted to the inverse of the parameter criterion.