Ada Programming/Operators
< Ada ProgrammingComputing » Computer Science » Computer Programming » Ada Programming

Standard operators
Ada allows operator overloading for all standard operators and so the following summaries can only describe the suggested standard operations for each operator. It is quite possible to misuse any standard operator to perform something unusual.
Each operator is either a keyword or a delimiter -- hence all operator pages are redirects to the appropriate keyword or delimiter.
Operators have arguments which in the RM are called Left and Right for binary operators, Right for unary operators (indicating the position with respect to the operator symbol).
The list is sorted from lowest precedence to highest precedence.
Logical operators
Relational operators
- /=
- Not Equal
, (also special character /=)
- =
- Equal
, (also special character =)
- <
- Less than
, (also special character <)
- <=
- Less than or equal to (
), (also special character <=)
- >
- Greater than (
), (also special character >)
- >=
- Greater than or equal to (
), (also special character >=)
Binary adding operators
- +
- Add
, (also special character +)
- -
- Subtract
, (also special character -)
- &
- Concatenate ,
&
, (also special character &)
Unary adding operators
Multiplying operator
- *
- Multiply,
, (also special character *)
- /
- Divide
, (also special character /)
- mod
- modulus (also keyword mod)
- rem
- remainder (also keyword rem)
Highest precedence operator
- **
- Power
, (also special character **)
- not
- logical not
, (also keyword not)
- abs
- absolute value
(also keyword abs)
Short-circuit control forms
These are not operators and thus cannot be overloaded.
- and then
- e.g.
if Y /= 0 and then X/Y > Limit then ...
- or else
- e.g.
if Ptr = null or else Ptr.I = 0 then ...
Membership tests
The Membership Tests also cannot be overloaded because they are not operators.
- in
- element of,
, e.g.
if I in Positive then
, (also keyword in) - not in
- not element of,
, e.g.
if I not in Positive then
, (also keywords not in)
Range membership test
if Today not in Tuesday .. Thursday then ...
Subtype membership test
Is_Non_Negative := X in Natural;
Class membership test
exit when Object in Circle'Class;
See also
Wikibook
Ada 95 Reference Manual
Ada 2005 Reference Manual
Ada Quality and Style Guide
Ada Operators | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.