Ada 编程/关键字/or
外观
(重定向自 Ada 编程/运算符/or)
X : Boolean := A < 10 or
A > 20;
在下面的示例中,函数G仅在F(X)返回的值为False时调用。
if
F(X)or
else
G(Y)then
Walk_The_Dog;end
if
;
这个简短运算符有时用于加速布尔表达式的求值,但Ada 风格指南建议在切换到另一个之前比较两种形式的性能。通常,使用or
else
仅当第二个表达式涉及函数调用时,才出于性能原因。
当第二个表达式已知会引发异常(除非第一个表达式为False)时,也会使用or
else
形式。
与 C/C++ 不同,Ada 简短运算符不是求值布尔表达式的标准方式。这是因为 Ada 默认情况下旨在执行通常更安全的操作,但允许程序员请求不同的行为。
or 运算符应用于来自左侧和右侧数组的每个布尔元素对。结果与左侧操作数具有相同的边界。
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;
运算符 or 可与 模类型 一起使用以执行按位运算。
参见 Ada 编程/任务#选择性等待.
参见 Ada 编程/任务#超时.
Ada 关键字 | ||||
---|---|---|---|---|
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
|
|||
延迟
|
limited
|
range
|
when
|
|
delta
|
loop
|
record
|
while
|
|
digits
|
rem
|
with
|
||
do
|
mod
|
renames
|
||
requeue (Ada 95) |
xor
|
Ada 运算符 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|