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