文章
· 八月 28, 2023 阅读大约需 3 分钟

第十二章 ObjectScript - 命令

第十二章 ObjectScript - 命令

命令

本节概述了在 ObjectScript 常用命令。其中包括与其他语言中的命令相似的命令,以及其他语言中没有等效项的其他命令。

命令名称不区分大小写,尽管按照惯例它们在运行文本中显示为全大写。

熟悉的命令

ObjectScript 提供命令来执行熟悉的任务,如下所示:
- 要定义变量,请使用 SET(如前所示)。
- 要删除变量,请使用 KILL,如前所示。
- 要控制逻辑流程,请使用以下命令:
- IFELSEIFELSE 一起工作
- FOR
- WHILE,可以单独使用
- DOWHILE 可以一起使用
- QUIT,也可以返回一个值

还有其他用于流量控制的命令,但使用频率较低。
  • 要捕获错误,请使用 TRYCATCH,它们一起工作。
  • 要写入值,请使用 WRITE。这会将值写入当前设备(例如,终端或文件)。

    在不带参数的情况下使用该命令会写入所有局部变量的值。

    此命令可以使用一小组格式控制代码字符来定位输出。在现有代码中,可能会看到感叹号,它开始一个新行。例如:

     write "hello world",!,"another line"
    
  • 要从当前设备(例如终端)读取值,请使用 READ

  • 要使用主设备以外的设备,请使用以下命令:
    • OPEN 使设备可供使用。
    • USE 指定一个打开的设备作为当前设备,供 WRITEREAD 使用。
    • CLOSE 使设备不再可用。
  • 要控制并发,请使用 LOCK。请注意, IRIS 锁管理系统与其他语言的类似系统不同。回顾一下它是如何运作的很重要。

如果多个进程可能访问同一变量或其他项,则可以使用此命令。
- 要管理事务,请使用 TSTARTTCOMMITTROLLBACK 和相关命令。
- 对于调试,请使用 ZBREAK 和相关命令。
- 要暂停执行,请使用 HANG

用于多维数组的命令

ObjectScript 中,可以通过以下方式使用多维数组:

  • 要定义节点,请使用 SET 命令。
  • 要删除单个节点或所有节点,请使用 KILL 命令。

例如,以下命令删除整个多维数组:

 kill myarray

相反,以下代码删除节点 myarray("2 Dec 2010") 及其所有子节点:

 kill myarray("2 Dec 2010")
  • 要删除globalglobal节点但不删除其后代子节点,请使用 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

这是在调试代码时检查正在使用的数组内容的有用方法。

讨论 (0)1
登录或注册以继续