Unary Operators
Unary expressions are expressions where an Operator is combined with a single other expression. Unary operators can be pre-fix, meaning they come before the expression they operate on, or post-fix, meaning they come after the expression.
Except for the ^ Pointer Dereference Operator, all unary operators in Oxygene are pre-fix.
Examples:
var a := true;
var b := not a; // result: false
var x := 5;
var y := -x; // result: -5
var f: block := @MyMethod;
var i: ^Integer;
i^ := 5; // de-references  the pointer
Operators
The table below lists all available unary operators.
| Operator | Description | 
|---|---|
| not | Reverses the value of a Boolean from truetofalseor vise versaReverses each bit of an Integer value from 0to1or vice versa. | 
| - | Turns a positive Integer value negative, or a negative one positive. | 
| + | Opposite of negation ( -), generally does nothing for most types. | 
| @ | The Address Of operator. | 
| ^ | The Pointer Dereference operator. | 
| old | The oldOperator, can be used to refer to the original value of a parameter or Field in a Post-Condition. | 
| inherited | Allows access to the inherited version of the expression it precedes. Available for Member Access and constructorCalls | 
For the +, - and not operators, Custom Types can implement Custom Operators that provide type-specific behavior.
See Also
- Binary Operators
- Post-Conditions
- Implementing Custom Operators