Expressions
An expression is a value (a constant, a predefined constant, a variable or the result of a function), which may optionally be preceded by certain operators depending on the type of value, followed by an operator and another value, and so on.
For numeric expressions:
{ number
| constant
| numeric function
| numeric variable
} [ operator
[ sign
] { number
| numeric function
| numeric variable=} ... ]
[/cat/number] : a standard [/cat/number]
constant : a [/cat/constant|predefined constant] that represents a numeric value
numeric function : a user-defined or [/cat/intrinsic] that returns a numeric value
operator : any of the standard [/cat/arithop|arithmetic operators] ( +
-
*
/
^
\
[lang/div]
[lang/mod]
plus [/lang/and]
[/lang/or]
or [/lang/xor]
)
numeric variable : any variable whose value is a number
For string expressions:
{ string
| string constant
| string function
| string variable=} [ & { =string
| string constant
| string function
| string variable=} ... ]
string : a set of zero or more characters surrounded by "
string constant : a [/cat/constant|predefined constant] that represents a string value
string function : a user-defined or [/cat/intrinsic] that returns a string value
string variable : any variable whose value is a string
& : indicates that the string value to the right of the ampersand is to be concatenated to the end of the value to the right of the ampersand
For boolean expressions:
[ [/lang/not]
] { TRUE
| FALSE
| numeric constant
| boolean constant
| boolean function
| boolean variable
} [ boolean operator
[ NOT
] { TRUE
| FALSE
| numeric constant
| boolean constant
| boolean function
| boolean variable
} ... ]
NOT : using NOT
before a boolean value reverses the value
TRUE or FALSE : the standard boolean constants
numeric constant : a [/cat/number|standard number] which will be resolved to either TRUE
or FALSE
[1]
boolean constant : a [/cat/constant|predefined constant] that represents a boolean value
boolean function : a user defined or [/cat/intrinsic] that returns TRUE
or FALSE
or resolves to TRUE
or FALSE
[1]
boolean variable : any variable whose value is TRUE
or FALSE
or resolves either to TRUE
or FALSE
[1]
boolean operator: [/lang/and]
[/lang/or]
[/lang/xor]
=
<>
<
>
<=
>=
Note that if the expression consists of a number with the operator [/lang/and], [/lang/or]
, or [/lang/xor]
followed by a number, it will be treated as an arithmetic expression rather than a boolean expression. At least one of the values in the expression must be a boolean value to produce a boolean expression.
[1]Note that a [/cat/number], [/cat/constant|predefined constant], [/cat/arith|arithmetic function] or numeric variable may be used as a boolean value. If the value of a number, numeric constant, numeric function, or variable is used in a boolean expression is zero, it resolves to FALSE
; all other numeric values used in a boolean expression resolve to TRUE
.
See also