第十二章 ObjectScript - 命令
命令
本节概述了在 ObjectScript
常用命令。其中包括与其他语言中的命令相似的命令,以及其他语言中没有等效项的其他命令。
命令名称不区分大小写,尽管按照惯例它们在运行文本中显示为全大写。
熟悉的命令
ObjectScript
提供命令来执行熟悉的任务,如下所示:
-
要定义变量,请使用
SET
(如前所示)。 -
要删除变量,请使用
KILL
,如前所示。 -
要控制逻辑流程,请使用以下命令:
IF
、ELSEIF
和ELSE
一起工作FOR
WHILE
,可以单独使用DO
和WHILE
可以一起使用QUIT
,也可以返回一个值
还有其他用于流量控制的命令,但使用频率较低。
-
要捕获错误,请使用
TRY
和CATCH
,它们一起工作。 -
要写入值,请使用
WRITE
。这会将值写入当前设备(例如,终端或文件)。在不带参数的情况下使用该命令会写入所有局部变量的值。
此命令可以使用一小组格式控制代码字符来定位输出。在现有代码中,可能会看到感叹号,它开始一个新行。例如:
write "hello world",!,"another line"
-
要从当前设备(例如终端)读取值,请使用
READ
。 -
要使用主设备以外的设备,请使用以下命令:
OPEN
使设备可供使用。USE
指定一个打开的设备作为当前设备,供WRITE
和READ
使用。CLOSE
使设备不再可用。
-
要控制并发,请使用
LOCK
。请注意,IRIS
锁管理系统与其他语言的类似系统不同。回顾一下它是如何运作的很重要。
如果多个进程可能访问同一变量或其他项,则可以使用此命令。
- 要管理事务,请使用
TSTART
、TCOMMIT
、TROLLBACK
和相关命令。 - 对于调试,请使用
ZBREAK
和相关命令。 - 要暂停执行,请使用
HANG
。
用于多维数组的命令
在 ObjectScript
中,可以通过以下方式使用多维数组:
- 要定义节点,请使用
SET
命令。 - 要删除单个节点或所有节点,请使用
KILL
命令。
例如,以下命令删除整个多维数组:
kill myarray
相反,以下代码删除节点 myarray("2 Dec 2010")
及其所有子节点:
kill myarray("2 Dec 2010")
- 要删除
global
或global
节点但不删除其后代子节点,请使用ZKILL
。 - 要迭代多维数组的所有节点并将其全部写入,请使用
ZWRITE
。这在terminal
中尤其方便。以下示例终端会话显示了输出的样子:
TESTNAMESPACE>ZWRITE ^myarray
^myarray(1)="value A"
^myarray(2)="value B"
^myarray(3)="value C"
此示例使用global
变量而不是局部变量,但请记住两者都可以是多维数组。
- 要将一组节点从一个多维数组复制到另一个多维数组中,并尽可能保留目标中的现有节点,请使用
MERGE
。例如,以下命令将整个内存数组 (sourcearray
) 复制到新的Global
(^mytestglobal
) 中:
MERGE ^mytestglobal=sourcearray
这是在调试代码时检查正在使用的数组内容的有用方法。