ZZDUMP (ObjectScript)
構文
ZZDUMP:pc expression,...
引数
引数 | 説明 |
---|---|
pc | オプション — 後置条件式 |
expression | 16 進ダンプ形式で表示されるデータ。数字、引用符で囲まれた文字列、またはこれらのどちらかに解決される変数を指定できます。単一の expression、またはコンマ区切りの式のリストを指定できます。 |
概要
ZZDUMP は、16 進ダンプ形式で式を表示します。ZZDUMP は、主としてシステム・プログラマのための関数ですが、制御文字を含む文字列を表示する場合にも役立ちます。
ZZDUMP は以下の形式で数値または文字列値を返します。
position: hexdata printdata
引数
pc
InterSystems IRIS は、後置条件式が True (0 以外の数値に評価される) の場合に ZZDUMP コマンドを実行します。InterSystems IRIS は、後置条件式が False (0 に評価される) の場合はコマンドを実行しません。詳細は、"コマンド後置条件式" を参照してください。
expression
数値、文字列リテラル、またはこれらのどちらかに解決される変数として expression を指定できます。単一の式、または式のコンマ区切りのリストを指定できます。式のコンマ区切りのリストを指定すると、各式に個別の ZZDUMP コマンドを発行するものと解析されます。コンマ区切りリストの実行は、最初のエラーが発生した時点で停止します。
expression は、任意のタイプの変数にすることができます。これには、ローカル変数、プロセス・プライベート・グローバル、グローバル変数、および特殊変数も含まれます。拡張参照を使用すると、別のネームスペースのグローバル変数を指定できます。存在しないネームスペースを指定した場合、InterSystems IRIS は <NAMESPACE> エラーを発行します。特権を持たないネームスペースを指定した場合、InterSystems IRIS は <PROTECT> エラーを発行し、続けてグローバル名とデータベース・パスを表示します (例:<PROTECT> ^myglobal,c:\intersystems\iris\mgr\)。
非表示文字は、その 16 進数値によって hexdata で、プレースホルダ・ドット (.) によって printdata で表されます。制御文字は実行されません。
例
以下の例は、ZZDUMP が 2 つの単一文字の文字列変数に対して 16 進のダンプを返すことを示しています。コンマ区切りの各式は、ZZDUMP の個別の呼び出しとして処理されます。
SET x="A"
SET y="B"
ZZDUMP x,y
0000: 41 A
0000: 42 B
以下の例は、ZZDUMP が単独のダンプ行には長すぎる文字列変数に対して 16 進ダンプを返すことを示しています。2 番目のダンプ行 (0010:) に対する position は、16 進数です。
SET z="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ZZDUMP z
0000: 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 ABCDEFGHIJKLMNOP
0010: 51 52 53 54 55 56 57 58 59 5A QRSTUVWXYZ
以下の例は、ZZDUMP が 3 つの変数に対して 16 進ダンプを返すことを表しています。NULL 文字列変数には、16 進ダンプが (空白の行でも) 返されないことに注意してください。また、数値はキャノニック形式に変換されます (先頭および末尾のゼロとプラス記号は削除されます)。数値を含む文字列はキャノニック形式に変換されません。
SET x=+007
SET y=""
SET z="+007"
ZZDUMP x,y,z
0000: 37 7
0000: 2B 30 30 37 +007
Unicode
ZZDUMP 式の 1 つ、または複数の文字がワイド (Unicode) 文字の場合、その式のすべての文字はワイド文字として表されます。以下の例は、Unicolde 文字を含む変数を示しています。どのような場合でも、文字はすべてワイド文字として表示されます。
SET x=$CHAR(987)
SET y=$CHAR(987)_"ABC"
ZZDUMP x,y
0000: 03DB ?
0000: 03DB 0041 0042 0043 ?ABC
ZZDUMP と Write コマンドとの比較
ZZDUMP と、WRITE、ZWRITE、および ZZWRITE コマンドとを比較したテーブルは、"表示 (書き込み) コマンド" を参照してください。