Operator Type:
Operator Scope of Action:
Operator Purpose:
Operator First Added:
Operator Altered:
Function [other Function type actions]
Item [operators of similar scope]
Query Boolean [other Query Boolean operators]
Baseline
(!$AttributeName)
In queries and conditional action code expressions, starting an attribute name preceded by an exclamation mark plus a $ character functions as a shortened form of the Boolean test for a false value. Due to limitations in the underlying parser, an inequality test expression must be enclosed in parentheses.Thus the following are functional equivalents:
$MyBoolean==false
(!$MyBoolean)
Do not use this form or you may get unexpected results:
!$MyBoolean
Do not use this format, without parentheses!
In both cases the result is false if the value of $MyBoolean is false.
Usefully Tinderbox also useful supports such short-form !$AttributeName tests for all the other attribute data types, returning true if the attribute has a default value. Per data type, this equates to long form tests like:
$MyBoolean==false
$MyColor==""
$MyDate=="never"
$MyDictionary==""
$MyFile==""
$MyInterval=="00:00"
$MyList==""
$MyNumber==0
$MySet==""
$MyString==""
$MyURL==""
This also holds for system-only data types:
$MyAction==""
$MyFont==""
In all these cases a short-form test returns true if the attribute value is the default for that data type.
This test is the logical opposite of the $AttributeName test.