前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Caché 变量大全 $ZORDER 变量

Caché 变量大全 $ZORDER 变量

作者头像
用户7741497
发布2022-06-02 10:40:50
4250
发布2022-06-02 10:40:50
举报
文章被收录于专栏:hml_知识记录

Caché 变量大全 $ZORDER 变量

包含下一个全局节点的值。

大纲

代码语言:javascript
复制
$ZORDER
$ZO

描述

$ZORDER包含当前全局引用之后的下一个全局节点的值(在$QUERY序列中,而不是$ORDER序列中)。如果没有下一个全局节点,访问$ZORDER将导致<unfined>错误,指示$ZORDER成功访问的最后一个全局节点。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

示例

下面的示例使用WHILE循环重复调用$ZORDER以遍历一系列下标节点:

代码语言:javascript
复制
/// d ##class(PHA.TEST.SpecialVariables).ZORDER()
ClassMethod ZORDER()
{
    SET ^||a="groceries"
    SET ^||a(1)="fruit"
    SET ^||a(1,1)="apples"
    SET ^||a(1,2)="oranges"
    SET ^||a(3)="nuts"
    SET ^||a(3,1)="peanuts"
    SET ^||a(2)="vegetables"
    SET ^||a(2,1)="lettuce"
    SET ^||a(2,2)="tomatoes"
    SET ^||a(2,1,1)="iceberg"
    SET ^||a(2,1,2)="romaine"
    SET $ZERROR="unset"
    WRITE !,"last referenced: ",^||a(1,1)
    WHILE $ZERROR="unset" {
        WRITE !,$ZORDER 
    }
    QUIT
}
代码语言:javascript
复制
DHC-APP>d ##class(PHA.TEST.SpecialVariables).ZORDER()
 
last referenced: apples
oranges
vegetables
lettuce
iceberg
romaine
tomatoes
nuts
peanuts
 
  WRITE !,$ZORDER
          ^
<UNDEFINED>zZORDER+15^PHA.TEST.SpecialVariables.1 ^||a(3,1)

上面的示例从最后引用的全局变量(在本例中是进程私有全局变量)开始:^||a(1,1)$ZORDER不包含^||a(1,1)的值,但从该点开始向前工作。对$ZORDER的调用按以下顺序遍历下标树节点:(1,2),(2),(2,1),(2,1,1),(2,1,2),(2,2),(3),(3,1)。每次写入$ZORDER都会显示每个后续节点中的数据值。然后,它会耗尽节点并生成以下错误:^||a(3,1)。请注意,^||a(3,1)不是未定义的;之所以指定它,是因为$ZORDER在这个全局变量之后找不到另一个全局变量。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Caché 变量大全 $ZORDER 变量
  • 大纲
  • 描述
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档