Ada Programming/Keywords/or
Logical operator
editBoolean operator
editX : Boolean := A < 10 or
A > 20;
Boolean shortcut operator
editIn the below example the function G is only called when F(X) returns the value False.
if
F(X)or
else
G(Y)then
Walk_The_Dog;end
if
;
This shortcut operator is sometimes used to speed up the evaluation of boolean expressions, but the Ada Style Guide recommends to compare the performance of both forms before switching one to the other. In general, it is good idea to use or
else
in sake of performance only when the second expression involves a function call.
The or
else
form is also used when the second expression is known to raise an exception unless the first expression is False.
Unlike C/C++, Ada short-cut operators are not the standard way to evaluate boolean expressions. This is because Ada is designed to do by default what is generally safer, but lets the programmer request a different behaviour.
Boolean operator on arrays
editThe or operator is applied to each pair of boolean elements from the left and right arrays. The result has the same bounds as the left operand.
type
Day_Of_Monthis
range
1 .. 31;type
Month_Arrayis
array
(Day_Of_Month)of
Boolean; X : Month_Array := Function_1; Y : Month_Array := Function_2; Z : Month_Array := Xor
Y;
Bitwise operator
editThe operator or could be used with modular types to perform bitwise operations.
Select statement
editalternative
editSee Ada Programming/Tasking#Selective waiting.
delay
editSee also
editWikibook
editAda 95 Reference Manual
edit- 2.9 Reserved Words (Annotated)
- 4.4 Expressions (Annotated)
- 4.5.1 Logical Operators and Short-circuit Control Forms (Annotated)
- Annex P (informative) Syntax Summary (Annotated)
Ada 2005 Reference Manual
edit- 2.9 Reserved Words (Annotated)
- 4.4 Expressions (Annotated)
- 4.5.1 Logical Operators and Short-circuit Control Forms (Annotated)
- Annex P (informative) Syntax Summary (Annotated)
Ada Quality and Style Guide
edit- 5.5.5 Short Circuit Forms of the Logical Operators
- 10.5.2 Short-Circuit Operators
- 10.6.3 Bit Operations on Modular Types
Ada Keywords | ||||
---|---|---|---|---|
abort
|
else
|
new
|
return
|
|
abs
|
elsif
|
not
|
reverse
|
|
abstract (Ada 95)
|
end
|
null
|
||
accept
|
entry
|
select
|
||
access
|
exception
|
of
|
separate
|
|
aliased (Ada 95)
|
exit
|
or
|
some (Ada 2012)
|
|
all
|
others
|
subtype
|
||
and
|
for
|
out
|
synchronized (Ada 2005)
|
|
array
|
function
|
overriding (Ada 2005)
|
||
at
|
tagged (Ada 95)
|
|||
generic
|
package
|
task
|
||
begin
|
goto
|
parallel (Ada 2022)
|
terminate
|
|
body
|
pragma
|
then
|
||
if
|
private
|
type
|
||
case
|
in
|
procedure
|
||
constant
|
interface (Ada 2005)
|
protected (Ada 95)
|
until (Ada 95)
|
|
is
|
use
|
|||
declare
|
raise
|
|||
delay
|
limited
|
range
|
when
|
|
delta
|
loop
|
record
|
while
|
|
digits
|
rem
|
with
|
||
do
|
mod
|
renames
|
||
requeue (Ada 95)
|
xor
|
Ada Operators | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|