Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$ZORDER

次のグローバル・ノードの値を含みます。

Synopsis

$ZORDER
$ZO

概要

$ZORDER は、現在のグローバル参照の後、順番に次のグローバル・ノードの値を含みます ($ORDER シーケンスではなく $QUERY シーケンスで)。次のグローバル・ノードが存在しない場合、$ZORDER にアクセスすると、$ZORDER によって正常にアクセスされた最後のグローバルを示す <UNDEFINED> エラーが返されます。 <UNDEFINED> の詳細は、"$ZERROR" を参照してください。

この特殊変数は、SET コマンドを使用して変更することはできません。 変更を試みると、<SYNTAX> エラーが返されます。

以下の例は、WHILE ループを使用して $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

上の例は、最後に参照されたグローバル (この例では、プロセス・プライベート・グローバル) ^||a(1,1) で始まります。$ZORDER は ^||a(1,1) の値を含みませんが、以降の値を含みます。$ZORDER への呼び出しは、(1,2)、(2)、(2,1)、(2,1,1)、(2,1,2)、(2,2)、(3)、(3,1) の順序で添え字ツリー・ノードを検索します。それぞれの WRITE $ZORDER は連続する各ノードにデータ値を表示します。ノードがなくなると、エラー <UNDEFINED> ^||a(3,1) を生成します。^||a(3,1) が定義されていない ことに注意してください。^||a(3,1) が指定されるのは、$ZORDER がその後に別のグローバルを検出できないためです。

関連項目

FeedbackOpens in a new tab