來自 Wikibooks,開放的書籍,為開放的世界
Ada。經久耐用、安全可靠。
Ada 允許對所有標準運算子進行 運算子過載,因此以下摘要只能描述每個運算子的建議標準操作。有可能濫用任何標準運算子來執行不尋常的操作。
每個運算子要麼是 關鍵字 要麼是 分隔符 - 因此所有運算子頁面都重定向到相應的 關鍵字 或 分隔符。
運算子有引數,在 RM 中分別稱為二元運算子的左和右,一元運算子的右(表示相對於運算子符號的位置)。
該列表按優先順序從低到高排序。
- and
- and
, (也是關鍵字 and)
- or
- or
, (也是關鍵字 or)
- xor
- 異或
, (也是關鍵字 xor)
- /=
- 不等於
, (也是特殊字元 /=)
- =
- 等於
, (也是特殊字元 =)
- <
- 小於
, (也是特殊字元 <)
- <=
- 小於或等於 (
), (也是特殊字元 <=)
- >
- 大於 (
), (也是特殊字元 >)
- >=
- 大於或等於 (
), (也是特殊字元 >=)
- +
- 加
, (也是特殊字元 +)
- -
- 減
, (也是特殊字元 -)
- &
- 連線,
&
, (也包含特殊字元&)
- +
- 加號
, (也包含特殊字元+)
- -
- 減號
, (也包含特殊字元-)
- *
- 乘法,
, (也包含特殊字元*)
- /
- 除法
, (也包含特殊字元/)
- mod
- 模數 (也包含關鍵字mod)
- rem
- 餘數 (也包含關鍵字rem)
- **
- 冪
, (也包含特殊字元**)
- not
- 邏輯非
, (也包含關鍵字not)
- abs
- 絕對值
(也包含關鍵字abs)
這些不是運算子,因此不能過載。
- and then
- 例如
if Y /= 0 and then X/Y > Limit then ...
- or else
- 例如
if Ptr = null or else Ptr.I = 0 then ...
成員測試也不能過載,因為它們不是運算子。
- in
- 元素,
, 例如 if I in Positive then, (也包含關鍵字in)
- not in
- 非元素,
, 例如 if I not in Positive then, (也包含關鍵字not in)
if Today not in Tuesday .. Thursday then
...
Is_Non_Negative := X in Natural;
exit when Object in Circle'Class;
if Today not in Tuesday .. Thursday then
...
此語言特性是在Ada 2012中引入的。
Ada 2012 將成員資格測試擴充套件到包含多個範圍或值選擇的並集(短路或)。
if Today in Monday .. Wednesday | Friday then
...