当前位置: 首页 > news >正文

第十二章 ObjectScript - 命令

文章目录

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

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

http://www.lryc.cn/news/144117.html

相关文章:

  • 在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x
  • 论文阅读_模型结构_LoRA
  • uniapp获取 pdf文件流 并展示
  • Linux(进程间通信)
  • Go的Gorm数据库操作错误WHERE conditions required
  • 基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
  • 6、css学习6(表格)
  • Ceph源码解析:PG peering
  • 解决jupyter notebook可以使用pytorch而Pycharm不能使用pytorch的问题
  • 对建造者模式理解
  • 回归预测 | MATLAB实现CSO-ELM布谷鸟算法优化极限学习机多输入单输出回归预测(多指标,多图)
  • 静态链接库和动态链接库的区别
  • 使用 python 源码搭建 conda 环境
  • dart 学习之 异步操作
  • 《Flink学习笔记》——第二章 Flink的安装和启动、以及应用开发和提交
  • 网易新财报:游戏稳、有道进、云音乐正爬坡
  • Docsify的评论系统gitalk配置过程
  • HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context使用场景二
  • 数字货币量化交易平台
  • 2022 ICPC 济南 E Identical Parity (扩欧)
  • 【BUG事务内消息发送】事务内消息发送,事务还未结束,消息发送已被消费,查无数据怎么解决?
  • 数据分析作业四-基于用户及物品数据进行内容推荐
  • 在腾讯云服务器OpenCLoudOS系统中安装svn(有图详解)
  • C语言日常刷题5
  • 【LeetCode-中等题】73. 矩阵置零
  • 本地部署 FastGPT
  • 软件工程(十八) 行为型设计模式(四)
  • Socket通信与WebSocket协议
  • 新KG视点 | Jeff Pan、陈矫彦等——大语言模型与知识图谱的机遇与挑战
  • 详解过滤器Filter和拦截器Interceptor的区别和联系