美文网首页
第四十九章 Caché 命令大全 IF(旧版) 命令

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

作者: Cache技术分享 | 来源:发表于2020-08-18 09:18 被阅读0次

    第四十九章 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é会忽略所有剩余的表达式,并且不执行该行中的命令,而是继续在下一行代码中执行。

    相关文章

      网友评论

          本文标题:第四十九章 Caché 命令大全 IF(旧版) 命令

          本文链接:https://www.haomeiwen.com/subject/tgrhjktx.html