第四十九章 Caché 命令大全 IF(旧版) 命令

文章目录

第四十九章 Caché 命令大全 IF(旧版) 命令

计算一个表达式,然后根据表达式的真值选择要执行的代码行。

大纲

IF expression command1
ELSE command2

I expression command1
E command2

参数

  • expression 可选-计算结果为布尔值的表达式(或逗号分隔的表达式列表)。
  • command1 如果expression的计算结果为TRUE,或者省略了expression,则执行一个或多个Caché命令。
  • ELSE command2 如果表达式的计算结果为FALSE,则执行一个或多个Caché命令。 ELSE关键字是可选的。

描述

注意:此页面描述了IF命令的旧版本。此版本从Caché4.0开始被认为是旧版本,不应在新的编程中使用。此处仅出于与旧版应用程序兼容的目的对其进行描述。

传统的IF命令是面向行的。要执行的命令必须在同一程序行中跟随它。不使用花括号,并且行格式是限制性的。新的IF命令是块结构的;它执行的块由在IF命令后的花括号内找到的命令组成。行格式(空格,换行符)没有限制。 IF的新版本不使用$TEST特殊变量。

IFELSE的新旧形式在语法上是不同的,不应结合使用;因此,一种类型的IF不应与另一种类型的ELSE配对。

IF命令有两种形式:

  • 有参数
  • 无参数

IF无参数

如果$TEST变量的当前值为TRUE(非零),则不带表达式参数的IF将在同一行执行命令。如果$TEST为FALSE(0),则Caché将忽略该行上的其余命令,并继续执行下一行(通常为ELSE命令)。因此,ELSE关键字等效于IF'$TEST(如果$TEST为FALSE)。

有参数

如果expression的计算结果为TRUE(非零),则带有expression参数的IF将在同一行执行命令。 (Caché还将$TEST设置为TRUE。)如果expression的计算结果为FALSE,则Caché将$TEST设置为FALSE(0),忽略该行上的其余命令,并继续执行下一行。

下一行通常以ELSE关键字开头,然后在同一行上跟随一个或多个命令。 IF命令不需要ELSE关键字,但是需要ELSE来指定仅在IF为false时才执行的选项。始终指定ELSE是推荐的编程习惯。

该面向行的ELSE关键字可以缩写为E。(不能缩写为面向块的新型ELSE关键字。)IFELSE的新旧形式在语法上是不同的,不应结合使用;因此,一种类型的IF不应与另一种类型的ELSE配对。

expression参数可以采用单个表达式或逗号分隔的表达式列表的形式。对于表达式列表,Caché按从左到右的顺序评估各个表达式。如果遇到FALSE表达式,它将停止求值。如果所有表达式的计算结果都为TRUE,则Caché在该行的表达式参数之后执行命令。如果有任何表达式的计算结果为FALSE,则Caché会忽略所有剩余的表达式,并且不执行该行中的命令,而是继续在下一行代码中执行。

猜你喜欢

转载自blog.csdn.net/yaoxin521123/article/details/108069675