第十二章 ObjectScript - 命令

news/2024/7/24 5:04:18 标签: 开发语言, M, Cache, IRIS, 数据库, 命令
M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

文章目录

第十二章 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

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


http://www.niftyadmin.cn/n/4979995.html

相关文章

浅析三维模型OBJ格式轻量化压缩集群处理方法

浅析三维模型OBJ格式轻量化压缩集群处理方法 三维模型的OBJ格式轻量化压缩是指通过一系列技术和方法将三维模型的文件大小进一步减小,以提高模型在计算机中的加载、传输和存储效率。集群处理技术是指利用多台计算机构成的集群来并行处理任务,以加速计算过…

macOS上开源免费的新闻阅读器SABnzbd

SABnzbd Mac版是一款运行在Mac平台上的开源新闻阅读器,这款阅读器界面简约、功效简单强大,使用SABnzbd时可以帮助使用Python语言编写,让用户使用usenet新闻组更便利,是你阅读新闻的好帮手! SABnzbd具有以下主要特点&a…

leetcode分类刷题:哈希表(Hash Table)(二、循环存在问题)

1、当需要快速判断某元素是否出现在序列中时,就要用到哈希表了。 2、本文针对的总结题型为给定的序列或需要构造的序列中是否存在循环,与 160. 相交链表、 141. 环形链表、142. 环形链表 II的题型一样。 202. 快乐数 这道题还考察如何对正整数求解各个位…

【PLSQL】PLSQL基础

文章目录 一:记录类型1.语法2.代码实例 二:字符转换三:%TYPE和%ROWTYPE1.%TYPE2.%ROWTYPE 四:循环1.LOOP2.WHILE(推荐)3.数字式循环 五:游标1.游标定义及读取2.游标属性3.NO_DATA_FOUND和%NOTFO…

XML—DTD、 Schema

目录 DTD是什么? DTD有什么用途? DTD与XML有什么联系? DTD原理图 外部DTD DTD文件book.dtd: 使用外部DTD文件的XML文件 PCDATA XML 文档构建模块 一、元素 1、元素声明 ①、有元素: ②、空元素: ③、ANY…

【论文阅读】自动驾驶中车道检测系统的物理后门攻击

文章目录 AbstractIntroduction 论文题目: Physical Backdoor Attacks to Lane Detection Systems in Autonomous Driving(自动驾驶中车道检测系统的物理后门攻击) 发表年份: 2022-MM(ACM International Conference on…

8.28day48

198. 打家劫舍 - 力扣(LeetCode) 知识点:动规五部 1.dp数组的含义:dp数组表示打劫改房间的最大收益 2.递推公式:打劫i家:从后往前推 我们如果打劫第i家 那么第i-1家绝对不可能背打劫 所以:dp…

linux并发服务器 —— 文件IO相关函数(三)

文件IO 以内存为主体,看待输入输出; 标准C库IO函数带有缓冲区,效率较高; 虚拟地址空间 虚拟地址空间是不存在的,一个应用程序运行期间对应一个虚拟地址空间; 虚拟地址空间的大小由CPU决定,位…