Ada Programming/Keywords/and
Logical operator
editBoolean operator
editX : Boolean := A > 10 and
A < 20;
Boolean shortcut operator
editShortcut operators are used to make the evaluation of parts of boolean expressions conditional: and then, or else. This should never be done to speed up the evaluation (with modern optimizing compilers, it will possibly not have that effect). The correct use is to prevent the evaluation of expressions known to raise an exception.
if
Dog /=null
and
then
G (Dog)then
Walk (Dog);end
if
;
In the example above, G (Dog) is only called when the pointer Dog is not null, i.e. it actually points to something.
Actually and then and or else are not operators in the sense of the reference manual, they are called 'Short-circuit Control Forms'. The difference is that (true) operators can be redefined (i.e. overloaded), whereas these cannot. They are however defined for any boolean type.
Since Ada allows parallel evaluation of the arguments for an expression, shortcut operators are not the standard way of evaluating boolean expressions. In any case where the final result of the evaluation is guaranteed to be the same, the compiler is allowed to use a shortcut evaluation.
Boolean operator on arrays
editThe and 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 := Xand
Y;
Bitwise operator
editThe operator and could be used with modular types to perform bitwise operations.
Adding interfaces to tagged types
editThis language feature is only available from Ada 2005 on.
type
Programmeris
new
Personand
Printablewith
record
Skilled_In : Language_List;end
record
;
See also
editWikibook
edit- Ada Programming
- Ada Programming/Keywords
- Ada Programming/Operators
- Ada Programming/Keywords/interface
Ada 95 Reference Manual
edit- 2.9 Reserved Words (Annotated)
- 4.4 Expressions (Annotated)
- Annex P (informative) Syntax Summary (Annotated)
Ada 2005 Reference Manual
edit- 2.9 Reserved Words (Annotated)
- 3.9.4 Interface Types (Annotated)
- 4.4 Expressions (Annotated)
- Annex P (informative) Syntax Summary (Annotated)
Ada Quality and Style Guide
edit
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 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|