通用概念
- 命令是Caché ObjectScript编程中的基本代码单元。
- Caché ObjectScript中的所有执行任务都由命令执行。
- 每个命令都包含一个命令关键字,后跟(在大多数情况下)一个或多个命令参数。
- 命令始终以关键字开头。
WRITE "Hello",! 复制代码
- 命令名称不区分大小写。大多数命令名称都可以用缩写形式表示。因此,
“WRITE”
,“Write”
,“write”,
“W”
,“w”
都是WRITE
命令的有效形式。
WRITE "Hello",! Write "Hello",! write "Hello",! W "Hello",! w "Hello",! 复制代码
- 命令关键字不是保留字。因此,可以使用命令关键字作为用户为变量、标签或其他标识符指定的名称。
s write = "write" write write,! 复制代码
- 代码行上的第一个命令必须缩进;命令关键字不能出现在第1列中。从终端命令行提示符或从
XECUTE
命令发出命令时,不需要缩进(允许缩进)。
x "s yx = 1" 复制代码
- 可执行代码行可以包含一个或多个命令,每个命令都有自己的命令关键字。一行中的多个命令由一个或多个空格分隔。在同一行上,一个或多个命令可以跟在标签之后;标签和命令之间由一个或多个空格分隔。
if yx = "1" s yx = "yx" label s yx = "yaoxin" 复制代码
- 如果命令采用后置条件表达式,则命令关键字和后置条件之间不能有空格,并且后置条件和第一个参数的开头之间必须正好有一个空格。
s (x, y)=1 q x+y q x + y q:x<0 q:x<0 x+y q:x<0 x + y 复制代码
- 许多命令允许指定多个独立参数。命令参数的分隔符是逗号“
,
”。也就是说,将单个命令的多个参数指定为该命令后面的逗号分隔列表。
// 使用三个参数为三个指定的变量赋值,在内部,Caché将其解析为三个单独的set命令 s x=2, y=4, z=6 复制代码
- 重复参数严格按照从左到右的顺序执行。
//因此,以下命令有效: k x, y, z s x = 2, y = x + 1, z = y + x //以下命令无效: k x, y, z s y = x + 1, x = 2,z = y + x 复制代码
- 不带参数的命令称为无参数命令。追加到关键字的后置条件表达式不被视为参数。
HALT
、CONTINUE
、TSTART
和TCOMMIT
是无参数命令。- 有几个命令可以选择不带参数。例如,
BREAK
、DO
、FOR
、GOTO
、KILL
和ZWRITE
都有无参数的语法形式。在这种情况下,无参数命令的含义与带参数的相同命令略有不同。
- 如果在与其他命令相同的代码行上使用无参数命令,则必须在无参数命令与其后面的任何命令之间放置两个(或更多)空格。
//QUIT是一个带有后置条件表达式的无参数命令,并且它和下一个命令之间至少需要两个空格。 q:x=10 w "10" for s a=1