文章目录

  • 第三十七章 Caché 命令大全 ZWRITE命令
  • 重点
  • 大纲
    • 参数
  • 描述
  • `ZWRITE`不带参数
  • `ZWRITE`带参数
    • Variables
    • Non-Display Characters
    • Expressions
    • Caché List Structures
    • 下标全局及其后代
    • Object References
    • JSON Arrays 与 JSON Objects
    • `Bitstrings`
  • 示例
    • `ZWRITE`不带参数
    • `ZWRITE`带参数
    • ZWRITE显示下标子节点

第三十七章 Caché 命令大全 ZWRITE命令

显示变量名称及其值和/或表达式值。

重点

  1. 它按名称按ASCII顺序列出变量。

大纲

ZWRITE:pc expression,...
ZW:pc expression,...

参数

  • pc 可选 - 后置表达式
  • expression 可选 - 要显示的变量或表达式,或要显示的逗号分隔的变量和/或表达式列表。以逗号分隔的列表可以包含变量和expressions.values和/或expression值的任意组合。

描述

ZWRITE命令列出了变量名称及其值。它以规范顺序varname = value的形式列出这些变量及其后代,在当前设备上每行一个变量。 ZWRITE还列出了表达式的值。表达式以值形式列出,按指定顺序每行一个。 ZWRITE命令具有两种形式:

  • 无参数
  • 有参数

ZWRITE可以采用可选的后置条件表达式。如果后置条件表达式为true(计算为非零数值),则Caché执行命令。如果后置条件表达式为假(计算为零),则Caché不执行命令。

可以通过发出CTRL-C中断ZWRITE列表,从而生成错误。

ZWRITE不带参数

不带表达式参数的ZWRITE在功能上与不带参数的WRITE相同。它显示局部变量环境(局部变量)中所有变量的名称和值,包括私有变量。 n参数在功能上与不带参数的WRITE相同。它不显示进程专用的全局变量或特殊变量。它按名称按ASCII顺序列出变量。它以下标树顺序列出下标的变量。

不带参数的ZWRITE显示分配给局部变量的OREF值,其形式为variable = <对象引用> [oref]。它不会显示有关OREF的任何更多详细信息。

不带参数的ZWRITE将分配给本地变量的位串显示为压缩字符串,该字符串(因为它包含非打印字符)可能看起来是空字符串。它不显示有关位串的任何更多详细信息。

ZWRITE带参数

具有参数的ZWRITE可以指定一个表达式参数或逗号分隔的表达式参数列表。这些参数按从左到右的顺序求值。每个参数可以指定一个变量或一个表达式。如果expression是用逗号分隔的列表,则每个变量或表达式将显示在单独的行上。

  • 变量:显示为varname = value
  • 表达式:已计算且结果显示为值
  • 特殊变量:显示为值
  • Caché列表结构:显示为$lb(element1,element2)
  • 带下标的全局变量,包括用于存储SQL数据值和SQL索引值的全局变量,显示为$lb()列表结构
  • 对象引用:显示为 [oref]。这是ZWRITE显示的不带参数的值。带有对象引用参数的ZWRITE将显示此值以及其他“常规信息”,“属性值”以及(在适当情况下)“swizzled的引用”和“计算的引用”信息。
  • JSON数组和JSON对象:显示为对象引用。
  • 位字符串:既显示为$ZWCHAR压缩二进制字符串,也显示为用户可读的位字符串中所有“1”位的表示形式。

ZWRITE将包含一个或多个非数字字符的字符串显示为带引号的字符串。

ZWRITE将数字值显示为规范数字。 ZWRITE显示一个数字字符串,其中包含规范形式的数字作为未引用的规范数字。ZWRITE将非规范形式的数字字符串显示为带引号的字符串。但是请注意,对非规范数字字符串的任何算术运算都会将其转换为规范数字。在下面的示例中显示:

/// d ##class(PHA.TEST.Command).TestZWrite()
ClassMethod TestZWrite()
{SET numcanon=7.9     // returns numberSET num=+007.90      // returns numberSET strnum="+7.9"    // returns stringSET strcanon="7.9"   // returns numberSET strnumop=+"+7.90" // returns numberZWRITE numcanon,num,strnum,strcanon,strnumop
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite()
numcanon=7.9
num=7.9
strnum="+7.9"
strcanon=7.9
strnumop=7.9

ZWRITE截断非常长的字符串的显示并追加...以指示字符串显示被截断。

ZWRITE以可读格式显示包含控制字符的值(包括使用$LISTBUILD$BIT创建的字符)。如果此格式导致非常长的字符串值超过最大字符串长度,则ZWRITE会截断显示的字符串并追加…以指示该字符串已被截断。

Variables

如果expression是变量,则ZWRITE将varname = value写入另一行。该变量可以是局部变量,专用于进程的全局变量,全局变量或对象引用(OREF)。

ZWRITE忽略未定义的变量。它不会发出错误。如果在以逗号分隔的变量列表中指定一个或多个未定义变量,则ZWRITE会忽略未定义变量并返回已定义变量。此行为可以显示多个变量,而无需检查以确定是否所有变量都已定义。如果为WRITEZZDUMPZZWRITE指定了未定义的变量,则Caché会发出错误。

变量可以下标。如果变量具有已定义的子节点,则ZWRITE会按照下标树顺序为每个子节点写一条单独的varname = value行。当指定根节点时,即使未定义根节点,ZWRITE也会显示其所有子节点。

可以使用扩展的全局引用来指定未映射到当前名称空间的全局变量。即使已将%SYSTEM.Process类的RefInKind()方法或Config.Miscellaneous类的RefInKind属性设置为剥离扩展的全局引用,ZWRITE也会显示扩展的全局引用。如果指定了不存在的名称空间,则Caché会发出<NAMESPACE>错误。如果指定了没有权限的名称空间,则Caché会发出错误<PROTECT>,后跟全局名称和数据库路径,例如:<PROTECT> ^myglobal,c:\intersystems\cache\mgr\.

Non-Display Characters

ZWRITE显示所有可打印字符。它使用$CHAR函数显示不可打印字符,将每个不可打印字符表示为串联的$c(n)值。它不执行非打印控制字符。在下面的示例中显示:

  SET charstr=$CHAR(65,7,66,67,0,68,11,49,50)ZWRITE charstr
DHC-APP> SET charstr=$CHAR(65,7,66,67,0,68,11,49,50)DHC-APP> ZWRITE charstr
charstr="A"_$c(7)_"BC"_$c(0)_"D"_$c(11)_"12"DHC-APP>w charstr
ABCD12

Expressions

如果expression是文字表达式,则ZWRITE将计算该表达式并将结果值写在单独的行上。如果表达式包含未定义的变量,则Caché会发出<UNDEFINED>错误。

如果表达式是多维属性,则ZWRITE将不显示该属性的后代。要使用ZWRITE显示整个多维属性,请将其合并到本地数组中并显示该数组,或者显示整个对象。

Caché List Structures

可以为ZWRITE指定Caché列表结构(%List)作为变量或表达式。 ZWRITE将列表结构显示为$lb(element1,element2)。在下面的示例中显示:

/// d ##class(PHA.TEST.Command).TestZWrite1()
ClassMethod TestZWrite1()
{SET FullList = $LISTBUILD("Red","Blue","Green","Yellow")SET SubList = $LIST(FullList,2,4)SET StrList = $LISTFROMSTRING("Crimson^Azure^Lime","^")ZWRITE FullList,SubList,StrListw !!w FullList,SubList,StrList
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite1()
FullList=$lb("Red","Blue","Green","Yellow")
SubList=$lb("Blue","Green","Yellow")
StrList=$lb("Crimson","Azure","Lime")RedBlueGreeYellowBlueGreeYellow      CrimsonAzureLime

下标全局及其后代

下面的示例显示ZWRITE显示下标全局变量及其所有后代节点的内容。本示例显示为Sample.Person持久类定义的数据,该类将投影到SQL表。全局变量的名称来自于持久类名(而不是SQL表名),并且区分大小写;附加“D”以表示全局数据。请注意,后代节点包含列表结构,这些列表结构显示为$LISTBUILD($ lb)结构:

   ZWRITE ^Sample.PersonD
DHC-APP>  ZWRITE ^Sample.PersonD
^Sample.PersonD=215
^Sample.PersonD(1)=$lb("","yaoxin","111-11-1117",54536,$lb("889 Clinton Drive","St Louis","WI","78672"),$lb("9619 Ash Avenue","Ukiah","AL","56589"),13,$lb("Red","Orange","Yellow","Green"))
^Sample.PersonD(2)=$lb("~Sample.Employee~","xiaoli","111-11-1111","",$lb("","","",""),$lb("","","",""),"","")
^Sample.PersonD(2,"Employee")=$lb("","",2000,"test","")
^Sample.PersonD(6)=$lb("","姚鑫","111-11-1112","","","","","")
^Sample.PersonD(9)=$lb("","姚鑫","111-11-1113","","","","","")
^Sample.PersonD(10)=$lb("","姚鑫","111-11-1114","","","","","")
^Sample.PersonD(13)=$lb("","姚鑫","111-11-1115","","","","",$lb("Red","Orange","  Yellow","Green"))
^Sample.PersonD(14)=$lb("","姚鑫","111-11-1116","","","","",$lb("Red","Orange","  Yellow","Green","Green"))
^Sample.PersonD(15)=$lb("","Isaacs,Roberta Z.","590-93-6378","","","","",$lb("Red","Orange","Yellow","Green","Yellow"))
^Sample.PersonD(16)=$lb("","Chadwick,Zelda S.","293-24-9782",50066,$lb("9889 Clinton Drive","St Louis","WI",78672),$lb("9619 Ash Avenue","Ukiah","AL",56589),"13",$lb("White"))
^Sample.PersonD(17)=$lb("","Fives,James D.","581-20-8980",33527,$lb("2091 Washington Blvd","Denver","ND",68036),$lb("4972 Franklin Place","Xavier","IA",68974),"6",$lb("Black"))
^Sample.PersonD(18)=$lb("","Vonnegut,Jose P.","396-81-1511",48488,$lb("3660 Main Place","Boston","WI",24855),$lb("3426 Ash Place","Youngstown","ID",50727),"6",$lb("Green","White"))

要显示单个数据记录,可以将RowID值指定为全局下标,如下所示:

 ZWRITE ^Sample.PersonD(22)
DHC-APP> ZWRITE ^Sample.PersonD(22)
^Sample.PersonD(22)=$lb("","Willeke,Alvin L.","766-92-7792",37099,$lb("2890 Franklin Avenue","Boston","NJ",82033),$lb("4695 Maple Drive","Reston","MD",55741),"10",$lb("Black","Black"))

要显示索引的内容,可以指定持久类名称,并在其后附加“ I”,并以索引名称作为下标。 索引名称区分大小写:

  ZWRITE ^Sample.PersonI("NameIDX")
^Sample.PersonI("NameIDX"," ZUCHERRO,MILHOUSE I.",64)=$lb("","Zucherro,Milhouse I.")                                                                            ^Sample.PersonI("NameIDX"," ZUCHERRO,OLGA H.",78)=$lb("","Zucherro,Olga H.")
^Sample.PersonI("NameIDX"," ZWEIFELHOFER,ROBERTA A.",72)=$lb("","Zweifelhofer,Roberta A.")                                                                      ^Sample.PersonI("NameIDX"," ZWEIFELHOFER,ZELDA J.",101)=$lb("","Zweifelhofer,Zelda J.")                                                                         ^Sample.PersonI("NameIDX"," 姚鑫",6)=$lb("","姚鑫")
^Sample.PersonI("NameIDX"," 姚鑫",9)=$lb("","姚鑫")
^Sample.PersonI("NameIDX"," 姚鑫",10)=$lb("","姚鑫")
^Sample.PersonI("NameIDX"," 姚鑫",13)=$lb("","姚鑫")
^Sample.PersonI("NameIDX"," 姚鑫",14)=$lb("","姚鑫")

还会显示列表中使用的其他非打印字符。

下面的示例显示ZWRITE使用扩展的全局引用来显示位于指定名称空间中的带下标的全局变量的内容:

 ZWRITE ^["USER"]Sample.PersonD

名称空间名称可以是其他名称空间或当前名称空间。命名空间名称不区分大小写。

不管RefInKind方法或属性的设置如何,ZWRITE始终显示扩展的全局引用,可以将其设置为从$QUERY$NAME返回的全局变量中剥离扩展的全局引用。

Object References

可以将ZWRITE的对象引用(OREF)指定为变量或表达式。如果指定了对象引用,则显示ZWRITE variable=<OBJECT REFERENCE>[oref]<OBJECT REFERENCE>[oref] 还显示对象属性的“常规信息”,“属性值”和(适当时)“Swizzled 引用”和“计算引用”,每行一个属性。

注意:通过浏览器界面执行ZWRITE时,<object reference>标识符前缀可能不会显示,因为浏览器将尖括号解释为标签。

如果ZWRITE参数是嵌入式对象属性,则ZWRITE将显示容器属性的数组元素的常规信息和属性值,每行一个属性。显示格式与%SYSTEM.OBJ.Dump()方法相同。

以下示例显示OREF,后跟“常规信息”,“属性值”和“混乱(swizzled )的引用”:

    SET oref = ##class(%SQL.Statement).%New()ZWRITE oref
DHC-APP>SET oref = ##class(%SQL.Statement).%New()DHC-APP>ZWRITE oref
oref=<OBJECT REFERENCE>[1@%SQL.Statement]
+----------------- general information ---------------
|      oref value: 1
|      class name: %SQL.Statement
| reference count: 2
+----------------- attribute values ------------------
|           %Dialect = ""  <Set>
|  %ObjectSelectMode = 0
|(%PreparedStatement) = ""  <Set>
|        %SchemaPath = ""
|        %SelectMode = 0
|(%StatementActualArgs) = ""
|(%StatementArgCount) = 0
|   (%StatementArgs) = ""
|   (%StatementGUID) = ""
|   (%StatementHash) = ""
|   (%StatementType) = ""
|           %msqlvar = ""
+----------------- swizzled references ---------------
|        i%%Metadata = ""  <Get>
|        r%%Metadata = ""  <Get>
+-----------------------------------------------------

以下示例显示OREF,后跟“常规信息”,“属性值”和“计算出的引用”:

/// d ##class(PHA.TEST.Command).TestZWrite2()
ClassMethod TestZWrite2()
{SET doref=##class(%iKnow.Domain).%New("mytempdomain")DO doref.%Save()SET domId=doref.IdZWRITE dorefSET stat=##class(%iKnow.Domain).%DeleteId(domId)
}

以下示例显示OREF,后跟“常规信息”,“属性值”,“混乱(swizzled)引用”和“计算的引用”:

/// d ##class(PHA.TEST.Command).TestZWrite3()
ClassMethod TestZWrite3()
{SET poref=##class(Sample.Person).%OpenId(1)ZWRITE poref
}
DHC-APP> d ##class(PHA.TEST.Command).TestZWrite3()
poref=<OBJECT REFERENCE>[1@Sample.Person]
+----------------- general information ---------------
|      oref value: 1
|      class name: Sample.Person
|           %%OID: $lb("1","Sample.Person")
| reference count: 2
+----------------- attribute values ------------------
|       %Concurrency = 1  <Set>
|                DOB = 54536
|               Name = "yaoxin"
|                SSN = "111-11-1117"
+----------------- swizzled references ---------------
|   i%FavoriteColors = ""
|i%FavoriteColors(1) = "Red"
|i%FavoriteColors(2) = "Orange"
|i%FavoriteColors(3) = "Yellow"
|i%FavoriteColors(4) = "Green"
|   r%FavoriteColors = ""  <Set>
|             i%Home = $lb("889 Clinton Drive","St Louis","WI","78672")  <Set>
|             r%Home = ""  <Set>
|           i%Office = $lb("9619 Ash Avenue","Ukiah","AL","56589")  <Set>
|           r%Office = ""  <Set>
|           i%Spouse = 13
|           r%Spouse = ""
+--------------- calculated references ---------------
|                Age   <Get>
+-----------------------------------------------------
/// d ##class(PHA.TEST.Command).TestZWrite4()
ClassMethod TestZWrite4()
{SET myquery = "SELECT TOP 2 Name,DOB FROM Sample.Person"SET oref = ##class(%SQL.Statement).%New()SET qStatus = oref.%Prepare(myquery)IF qStatus'=1 {WRITE "%Prepare failed:" DO $System.Status.DisplayError(qStatus) QUIT}SET rset = oref.%Execute()ZWRITE rset
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite4()
rset=<OBJECT REFERENCE>[5@%sqlcq.DHCdAPP.cls152]
+----------------- general information ---------------
|      oref value: 5
|      class name: %sqlcq.DHCdAPP.cls152
| reference count: 3
+----------------- attribute values ------------------
|    (%CursorDataTS) = ""
|   (%CursorDataTS2) = ""
|     (%CursorDatac) = 1
|  (%CursorDatad(1)) = 0
|  (%CursorDatad(3)) = 0
|  (%CursorDatad(4)) = ""
|  (%CursorDatad(5)) = 2
|  (%CursorDatad(6)) = 1
|   (%CursorDataerr) = ""
|  (%CursorDatahdbc) = ""
| (%CursorDatahstmt) = ""
|   (%CursorDataiot) = ""
|(%CursorDataparloop) = ""
| (%CursorDataparms) = ""
|   (%CursorDatapdt) = ""
|    (%CursorDatapl) = ""
|    (%CursorDataps) = ""
| (%CursorDatarlist) = ""
|   (%CursorDatasql) = ""
|      %CursorNumber = 1
|  %ExtendedMetadata = $lb($lb("Sample.Person||Name","%Library.String",10),$lb("Sample.Person||DOB","%Library.Date",2))                                         |           %Message = ""
|       %Metadata(0) = $lb(2,"Name",12,50,0,0,"Name","Person","Sample",0,$c(0,0,0,0,0,0,0,0,0,0,0,0),"DOB",9,10,0,1,"DOB","Person","Sample",0,$c(0,0,0,0,0,0,0,0,0,0,0,0))
|      (%NextColumn) = 3
|           %Objects = ""
| %OutputColumnCount = 0
|        %Parameters = ""
|          %ROWCOUNT = 0
|             %ROWID = ""
| %ResultColumnCount = 2
|           %SQLCODE = 0
|      (%SelectMode) = 0
|     %StatementType = 1
|           %routine = ""
+----------------- swizzled references ---------------
|   i%%CurrentResult = "5@%sqlcq.DHCdAPP.cls152"
|   r%%CurrentResult = ""
|   i%%PrivateTables = ""  <Set>
|   r%%PrivateTables = ""  <Set>
|    (i%%ProcCursor) = ""
|    (r%%ProcCursor) = ""
|          (i%%rsmd) = ""
|          (r%%rsmd) = ""
+--------------- calculated references ---------------
| %StatementTypeName   <Get>
|                DOB   <Get>
|               Name   <Get>
+-----------------------------------------------------

JSON Arrays 与 JSON Objects

ZWRITE显示JSON动态数组和JSON动态对象作为对象引用。引用的对象类为%Library.DynamicArray%Library.DynamicObject。在下面的示例中显示:

JSON array:

  SET jarray = ["apples","oranges"]ZWRITE jarray
DHC-APP>SET jarray = ["apples","oranges"]DHC-APP>ZWRITE jarray
jarray=<OBJECT REFERENCE>[1@%Library.DynamicArray]
+----------------- general information ---------------
|      oref value: 1
|      class name: %Library.DynamicArray
| reference count: 2
+----------------- attribute values ------------------
|           (none)
+-----------------------------------------------------

JSON object:

    SET jobj = {"fruit":"apples","count":24}ZWRITE jobj
DHC-APP>SET jobj = {"fruit":"apples","count":24}DHC-APP>ZWRITE jobj
jobj=<OBJECT REFERENCE>[4@%Library.DynamicObject]
+----------------- general information ---------------
|      oref value: 4
|      class name: %Library.DynamicObject
| reference count: 2
+----------------- attribute values ------------------
|           (none)
+-----------------------------------------------------

Bitstrings

可以将ZWRITE的位串指定为变量或表达式。如果ZWRITE参数是Caché压缩位串(使用$BIT函数创建),则ZWRITE将压缩二进制串的十进制表示形式显示为$ZWCHAR($zwc)两字节(宽)字符。

ZWRITE还显示一条注释,该注释以逗号分隔的列表从左到右列出未压缩的“1”位。如果有三个或更多连续的“1”位,它将使用两个点语法(n..m)将它们列出为一个范围(含)。例如,位串[1,0,1,1,1,1,0,1]显示为/*$bit(1,3..6,8)*/。位字符串[1,1,1,1,1,1,1,1]显示为/*$bit(1..8)*/。位字符串[0,0,0,0,0,0,0,0]显示为/ * $ bit()* /。以下示例显示ZWRITE位字符串输出:

/// d ##class(PHA.TEST.Command).TestZWrite5()
ClassMethod TestZWrite5()
{SET $BIT(a,1) = 0SET $BIT(a,2) = 0SET $BIT(a,3) = 1SET $BIT(a,4) = 0SET $BIT(a,5) = 1SET $BIT(a,6) = 1SET $BIT(a,7) = 1SET $BIT(a,8) = 0ZWRITE a
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite5()
a=$zwc(408,1,0,1,3,7)/*$bit(3,5..7)*/

示例

ZWRITE不带参数

在以下示例中,不带参数的ZWRITEASCII名称顺序列出所有已定义的局部变量。

   SET A="A",a="a",AA="AA",aA="aA",aa="aa",B="B",b="b"ZWRITE
DHC-APP>SET A="A",a="a",AA="AA",aA="aA",aa="aa",B="B",b="b"DHC-APP>ZWRITEA="A"
AA="AA"
B="B"
a="a"
aA="aA"
aa="aa"
b="b"

在以下示例中,不带参数的ZWRITE列出了规范和非规范数值:

/// d ##class(PHA.TEST.Command).TestZWrite6()
ClassMethod TestZWrite6()
{SET w=10SET x=++0012.00SET y="6.5"SET z="007"SET a=w+x+y+zZWRITE
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite6()<Private variables>
w=10
x=12
y=6.5
z="007"
a=35.5

ZWRITE带参数

在以下示例中,ZWRITE将三个变量显示为varname = value,每个变量都在其单独的行上:

/// d ##class(PHA.TEST.Command).TestZWrite7()
ClassMethod TestZWrite7()
{SET alpha="abc"SET x=100SET y=80SET sum=x+yZWRITE x,sum,alpha
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite7()
x=100
sum=180
alpha="abc"

在下面的示例中,ZWRITE在第一个参数中计算一个表达式。它以值的形式返回表达式,以varname = value的形式返回变量:

/// d ##class(PHA.TEST.Command).TestZWrite8()
ClassMethod TestZWrite8()
{SET x=100SET y=80ZWRITE x+y,y
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite8()
180
y=80

下面的示例在显示不同的变量值时比较ZWRITEWRITEZWRITE返回引号来分隔字符串,而WRITE不会:

/// d ##class(PHA.TEST.Command).TestZWrite9()
ClassMethod TestZWrite9()
{SET a=+007.00SET b=9E3SET c="+007.00"SET d=""SET e="Rhode Island"SET f="Rhode"_"Island"ZWRITE a,b,c,d,e,fWRITE !,a,!,b,!,c,!,d,!,e,!,f
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite9()
a=7
b=9000
c="+007.00"
d=""
e="Rhode Island"
f="RhodeIsland"7
9000
+007.00Rhode Island
RhodeIsland

ZWRITE显示下标子节点

下面的示例显示ZWRITE显示下标的进程专用全局变量的内容。 ZWRITE以分层顺序显示变量的下标:

/// d ##class(PHA.TEST.Command).TestZWrite10()
ClassMethod TestZWrite10()
{SET ^||fruit(1)="apple",^||fruit(4)="banana",^||fruit(8)="cherry"SET ^||fruit(1,1)="Macintosh",^||fruit(1,2)="Delicious",^||fruit(1,3)="Granny Smith"SET ^||fruit(1,2,1)="Red Delicious",^||fruit(1,2,2)="Golden Delicious"SET ^||fruit="Fruits"WRITE "global arg ZWRITE:",!ZWRITE ^||fruit
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite10()
global arg ZWRITE:
^||fruit="Fruits"
^||fruit(1)="apple"
^||fruit(1,1)="Macintosh"
^||fruit(1,2)="Delicious"
^||fruit(1,2,1)="Red Delicious"
^||fruit(1,2,2)="Golden Delicious"
^||fruit(1,3)="Granny Smith"
^||fruit(4)="banana"
^||fruit(8)="cherry"

请注意,即使未定义根节点,指定一个根节点也会显示所有子节点:

/// d ##class(PHA.TEST.Command).TestZWrite11()
ClassMethod TestZWrite11()
{SET fruit(1)="apple",fruit(4)="banana",fruit(8)="cherry"SET fruit(1,1)="Macintosh",fruit(1,2)="Delicious",fruit(1,3)="Granny Smith"SET fruit(1,2,1)="Red Delicious",fruit(1,2,2)="Golden Delicious"WRITE "global arg ZWRITE:",!ZWRITE fruit
}
DHC-APP>d ##class(PHA.TEST.Command).TestZWrite11()
global arg ZWRITE:
fruit(1)="apple"
fruit(1,1)="Macintosh"
fruit(1,2)="Delicious"
fruit(1,2,1)="Red Delicious"
fruit(1,2,2)="Golden Delicious"
fruit(1,3)="Granny Smith"
fruit(4)="banana"
fruit(8)="cherry"

第三十七章 Caché 命令大全 ZWRITE 命令相关推荐

  1. 第五十七章 Caché 函数大全 $REPLACE 函数

    文章目录 第五十七章 Caché 函数大全 $REPLACE 函数 大纲 参数 描述 REPLACE和REPLACE和REPLACE和TRANSLATE 示例 第五十七章 Caché 函数大全 $RE ...

  2. 第二十三章 Caché 命令大全 SET 命令

    文章目录 第二十三章 Caché 命令大全 SET 命令 重点 大纲 参数 描述 将多个变量设置为相同的值 设置多个变量的限制 参数 pc variable value JSON值 JSON对象 JS ...

  3. 类 workbooks 的 open 方法无效_第十九章 Cach 命令大全 OPEN 命令

    第十九章 Caché 命令大全 OPEN 命令 获取输入/输出操作的设备或文件的所有权. 重点 打开设备要指定延迟秒,否则将无限等待. 大纲 OPEN:pc device:(parameters):t ...

  4. 第四十六章 Caché 变量大全 ^$GLOBAL 变量

    文章目录 第四十六章 Caché 变量大全 ^$GLOBAL 变量 大纲 参数 描述 进程私有全局变量 参数 nspace global_name 示例 作为`$DATA`的参数 作为`$ORDER` ...

  5. 第八十三章 Caché 函数大全 $ZDATE 函数

    文章目录 第八十三章 Caché 函数大全 $ZDATE 函数 大纲 参数 描述 简单的$ZDATE格式 可自定义日期默认 参数 hdate dformat dformat Default dform ...

  6. 第十九章 Caché 函数大全 $INCREMENT 函数

    文章目录 第十九章 Caché 函数大全 $INCREMENT 函数 大纲 参数 描述 参数 variable num INCREMENT或INCREMENT或INCREMENT或SEQUENCE $ ...

  7. 第六章 Caché 变量大全 $HOROLOG 变量

    文章目录 第六章 Caché 变量大全 $HOROLOG 变量 大纲 描述 分割日期与时间 日期和时间函数比较 日期和时间转换 设定日期和时间 时区 夏令时 本地时变阈值 1840年以前的日期 示例 ...

  8. 第112章 Caché 函数大全 $ZPOSITION 函数

    文章目录 第112章 Caché 函数大全 $ZPOSITION 函数 大纲 参数 描述 示例 第112章 Caché 函数大全 $ZPOSITION 函数 返回表达式中可以在指定字段宽度内容纳的字符 ...

  9. 第六十六章 Caché 函数大全 $TRANSLATE 函数

    文章目录 第六十六章 Caché 函数大全 $TRANSLATE 函数 大纲 参数 描述 `$TRANSLATE`和`$REPLACE` 示例 第六十六章 Caché 函数大全 $TRANSLATE ...

最新文章

  1. mysql如何按行数匹配_mysql – 是否可以使用MATCH AGAINST计算每行匹配的单词数
  2. ospf和pat及nat的配置
  3. vectorint[]和vectorint()有什么区别?
  4. cisco stp技术应用
  5. 深入理解构造函数和原型链
  6. dropout为什么有效
  7. 用友u8采购发票如何取消审核
  8. 知乎_线程和进程的区别是什么?
  9. Java8新特性-Lambda表达式
  10. 太阳当空照-Windows服务化方式instsrv与srvany
  11. 6个好用免费的LiDAR数据处理软件【2021最新】
  12. 渗透测试之安全手册(干货)
  13. 5分钟搞懂什么是深度学习
  14. 爬取了 36141 条评论数据,解读 9.5 分的《海王》是否值得一看
  15. linux架构师面试题,怎么判断web前端架构师能力高低,前端架构师面试题目
  16. linux svn 忽略指定文件
  17. 收集的各个方向的开发视频教程,分享给自学的同学
  18. 针对严峻的网络安全环境,公司就当如何应对?
  19. 城市生态类毕业论文文献有哪些?
  20. vue el-form表单验证,多表单验证及动态数据项表单验证

热门文章

  1. SQL Server安装Integration Services的注意事项
  2. 反片语 set+哈希表 就C++代码而言,我很短
  3. 大智慧新一代文件下载
  4. 《零基础学C语言》读后感学习笔记
  5. TP-LINK路由器任意代码执行漏洞CVE-2017-9466 WR841N V8版本受影响
  6. 整个ztree树下控制其单选
  7. 《安卓最佳免费应用》摘要版 2012年8月版
  8. 按键精灵---插件之后台发送字符串
  9. skype检测softice的解决办法
  10. 搜狗拼音输入法2015 v7.4m 官方版​