Ada Programming/Keywords/or

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Contents


[edit] Logical operator

[edit] Boolean operator

X : Boolean := A < 10 or A > 20;

[edit] Boolean shortcut operator

In 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.

[edit] Boolean operator on arrays

The or operator is applied to each pair of boolean elements from the left and right arrays. The result has the same bounds than the left operand.

type Day_Of_Month is range 1 .. 31;            
type Month_Array is array (Day_Of_Month) of Boolean;

X : Month_Array := Function_1;
Y : Month_Array := Function_2;
Z : Month_Array := X or Y;

[edit] Bitwise operator

The operator or could be used with modular types to perform bitwise operations.

[edit] Select statement

[edit] alternative

See Ada Programming/Tasking#Selective_waiting.

[edit] delay

See Ada Programming/Tasking#Timeout.

[edit] See also

[edit] Wikibook

[edit] Ada 95 Reference Manual

[edit] Ada 2005 Reference Manual

[edit] Ada Quality and Style Guide



Ada Keywords
abort else new return
abs elsif not reverse
abstract end null
accept entry select
access exception of separate
aliased exit or subtype
all others synchronized
and for out
array function overriding tagged
at task
generic package terminate
begin goto pragma then
body private type
if procedure
case in protected until
constant interface use
is raise
declare range when
delay limited record while
delta loop rem with
digits renames
do mod requeue xor


Ada Operators
and and then > + abs &
or or else >= - mod
xor = < * rem in
not /= <= ** / not in
Personal tools