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?

ObjectScript で使用する記号

ObjectScript で演算子、接頭語などとして使用される文字のテーブルです。

記号のテーブル

以下は、ObjectScript で使用されるリテラル記号のテーブルです (このテーブルには、言語の一部ではない形式規約を示す記号は含まれていません)。別途、Caché SQL で使用する記号を示したテーブルもあります。

各記号の名前の後には、ASCII 数値が続きます。

記号 名前と使用法
[スペース]、または [タブ]

空白 (タブ (9) またはスペース (32)) : ラベルおよび一部のコメント行以外の各コード行の行頭に空白 (タブあるいはスペース) が必要です。

コマンド内には、コマンド名と最初の引数の間にスペースが 1 つ必要です。

最後のコマンドの引数と同じ行にある後続のコマンドまたはコメントとの間には、後続の空白 (スペースあるいはタブ) が必要です。ラベルと同じ行にある後続のコマンドまたはコメントとの間にも、後続の空白が必要です。

[2 つのスペース、2 つのタブ、またはスペースとタブ 1 つずつ] 2 つの空白 : 引数のないコマンドと、同じ行の次のコマンドの間には、後続の 2 つの空白が必要です。
!

感嘆符 (33) : OR 論理演算子 (完全な評価)。

READ コマンドと WRITE コマンドでは、新規の行を指定します。

最初の文字として、ターミナル・プロンプトでインタラクティブなサブシェルをロードします

"

引用符 (34) : 文字列リテラルを囲みます。ダイナミック SQL では、%Prepare() メソッドの文字列引数として、SQL コードを囲みます。

ストレート引用符 (") と方向付き引用符 (“ ”) の違いについては、"Caché ObjectScript の使用法" の "パターン・マッチング" を参照してください。

""

二重引用符 : 0 の長さの文字列である NULL 文字列 ("") を指定します。

引用符付きの文字列内では、リテラル引用符文字を指定します。

#

シャープ記号 (35) : モジュロ除算演算子。ビット値を決定するために使用できます。例えば、$ZA#2 は、ビット 1 の値 (0 または 1) を返します。整数除算 (\) 演算子 $ZJOB\1024#2 は、ビット 1024 の値 (0 または 1) を返します。

READ コマンドおよび WRITE コマンドでは改ページ。固定長の READ では読み取る文字数。

クラス内からクラス・パラメータの値を参照するための接頭語。(例) #ParameterName

#Define、#Include、#If などの多数のマクロ・プリプロセッサ指示文の名前で使用する接頭語。## も参照してください。

class 構文では、パラメータ値を返すためにパラメータ接頭語が使用されます。例えば、##class(%Library.Boolean).#XSDTYPE または myinstance.#EXTENTQUERYSPEC のようになります。

ZBREAK デバッグでは、指定のブレークポイントまたはウォッチポイントを無効化する繰り返しカウンタです。例えば、ZBREAK -label^rou#100 は、label^rou のブレークポイントを 100 回繰り返して無効化します。

実行時式の区切り文字。(例) #(expr)# (ここで expr は ObjectScript 式)。

コールアウト・ルーチン ZFENTRY で、DOUBLE データ型を示す argtype 接頭語。(例) #D または #F。

正規表現の行末コメント文字 ((?x) モード内のみ)。

##

二重ポンド記号 : オブジェクト・クラス呼び出し接頭語##class(classname).methodname() または ##class(classname).#parametername

##super() syntax を使用して、オーバーライドされたスーパークラス・メソッドを呼び出します。

##Continue、##Expression、##Function、##Lit、##SQL、##Unique などの特定のマクロ・プリプロセッサ指示文の名前の接頭語。##SQL は、Object Script : ##SQL (SQL コマンド) 内から SQL コードの行を実行するために呼び出されます。

コンパイル時式の区切り文字。(例) ##(expr)## (ここで expr は ObjectScript 式)。

##; 二重シャープ記号セミコロン : 1 行コメント文字。ObjectScript または 埋め込み SQL の列 1 で使用できます。
#; シャープ記号セミコロン : 1 行コメント文字。列 1 で使用できます。
$

ドル記号 (36) : システム関数接頭語。(例) $name(parameters)。

特殊変数接頭語。(例) $name。

$Znnn ($Z で始まる名前) は、%ZLANG 言語拡張ライブラリを使用して定義された、ユーザ定義関数または特殊変数にできます。インターシステムズが提供するシステム関数または特殊変数にすることも可能です。

正規表現の文字列の最後のアンカー。(例) (USA)$。

ZBREAK デバッグでは、シングル・ステップ・ブレークポイントです。

最初の文字として、ターミナル・プロンプトでインタラクティブなサブシェルをロードします

$$

二重ドル記号 : ユーザ指定関数呼び出し接頭語。(例) $$myname(parameters)。コンテキストがユーザ指定関数への参照によって構築されたとき、$$ は $STACK によって返されます。

ルーチンを直接呼び出すためのルーチン名の接頭語。

$$$ 三重ドル記号 : マクロ呼び出し接頭語
%

パーセント記号 (37) : 以下で、名前の最初の文字として使用できます。(1) 特殊な有効範囲のルールを持つ "% variable" を示し、ロックに使用するローカル変数名。(2) 一般にシステム・ユーティリティを示すルーチン名。(3) パッケージ・クラス名。例えば、%SYSTEM.class や %Library.class、および %Library パッケージ内のクラス名 (%String などのデータ型を含む)。(4) %Dialect%New()%OpenId() などの %Persistent オブジェクトのプロパティ名およびメソッド名。%On... メソッド名はコールバック・メソッドです。(5) ラベル

マクロ引数の最初に記述する必要があります。

一部の埋め込み SQL 変数の接頭語。(例) %msg%ROWCOUNT。SQL キーワードの接頭語。(例) %STARTSWITH。

i% (インスタンス変数) 参照。

%%

二重パーセント記号 : 擬似フィールド参照変数キーワードの接頭語。(例) %%CLASSNAME、%%CLASSNAMEQ、%%ID、%%TABLENAME。ObjectScript の計算フィールド・コードおよびトリガ・コードで使用されます。

&

アンパサンド (38) : AND 論理演算子 (完全な評価)。$BITLOGIC ビット文字列 AND 演算子。

仮パラメータ・リストでは、パラメータが参照によって渡されることをマークする、オプションの機能しない変数名の接頭語。& は、マーカであり、変数名の一部ではありません。(例) Calc(x,&y)

埋め込みコードのシェル呼び出し接頭語。(例) &sql(SQL コマンド)、&js<JavaScript コマンド>、&html<HTML コマンド>。

UNIX® バッチ・コマンド

&&

二重アンパサンド : AND 論理演算子 (部分的な評価)。

正規表現の AND 論理演算子。

記号 名前と使用法
'

アポストロフィ (39) : 単項否定演算子。結合可能な符号 : 論理演算子 '& (Not And)'| (Not Or)、リレーショナル演算子 '= (not equal to)'< (not less than)'> (not greater than)パターン・マッチ '(operand?pattern) を組み合わせて使用できます。

ヨーロッパ式数値グループ・セパレータ

( )

括弧 (40,41) : プロシージャや関数のパラメータ・リストを囲みます。空白の場合でも括弧は必須です。

式を入れ子にします。入れ子によって Caché の既定である演算子の左から右への評価をオーバーライドし、式に優先順位を指定することができます。

ローカル変数 : a(1,1)グローバル変数 : ^a(1,1)、またはプロセス・プライベート・グローバル : ^||a(1,1) の配列添え字を指定します。

代替パターン・マッチ (? に続く) を囲みます。

NEWKILL コマンドにより排他的に表示します。

後置条件にスペースを含む場合に必要です。

&sql シェル呼び出しコマンドに続く埋め込み SQL コードを囲みます。(例) &sql(SQL コマンド)

正規表現の一致文字列 (Boston) または文字列のリスト (Boston|New York|Paris)。正規表現のグループ化構文。

JSON オブジェクトまたは配列の値を設定する場合、Caché リテラルまたは式を囲むために使用します。

*

アスタリスク (42) : 乗算演算子

$ZSEARCH では、0、1、または複数の文字のワイルドカード。

$EXTRACT$LIST、および $PIECE では、文字列の末尾の最終項目を指定します。これを符号付整数と共に使用して、末尾からのオフセットを指定できます (例 : *-2、*+1)。

WRITE コマンドでは、文字の整数コードを指定します。例えば、WRITE *65 は文字 “A” を書き込みます。

$ZTRAP 文字列値の接頭語として、コール・スタック・レベルが変更されないように指定します。

ZBREAK では、ローカル変数を示す名前の接頭語です。$ZERROR に返される特定のエラー・コードには、未定義のローカル変数、クラス、メソッド、またはプロパティを示す名前の接頭語があります。

正規表現の 0 以上の文字修飾子。

** 二重アスタリスク : 指数演算子。例えば、4**3=64 です。
*+ アスタリスク・プラス : SET $EXTRACTSET $LIST、および SET $PIECE では、文字列の最終項目より先のオフセットを指定します。値を追加するために使用されます。例えば、*+1 を指定すると、項目が文字列の末尾に追加されます。
*-

アスタリスク・マイナス : WRITE コマンドでは、デバイス制御整数コードを指定します。例えば、WRITE *-10 は終端の入力バッファを削除します。

$EXTRACT$LIST$LISTGET、および $PIECE では、文字列の最終項目からの逆方向のオフセットを指定します。例えば、*-1 は最後から 2 番目の項目です。

*/ アスタリスク・スラッシュ : 複数行コメントの末端文字。コメントは、/* で開始します。
+

プラス記号 (43) : 単項算術プラス演算子数値評価を強制する文字列を返す文字列または関数に追加する場合。(例) WRITE +"007.0"WRITE +$PIECE(str,",",2)

加算演算子

ラベルからの整数の行のカウント・オフセットlabel+offset$ZTRAP では、プロシージャの先頭からの整数の行のカウント・オフセット : +offset^procname

LOCK コマンドおよび ZBREAK コマンドでは、後に続く項目を有効化、適用、またはインクリメントする接頭語です。

正規表現の 1 文字以上の修飾子。

+= ファイルへの出力を行うコマンドと関数で、プラス記号と等号が両方指定されている場合は、出力データが既存のファイルの内容に追加されることを意味します。等号のみの場合は、既存のファイルの内容が出力データで上書きされることを意味します。$ZF(-100) を参照してください。
,

コンマ (44) : 関数およびプロシージャでは複数のパラメータの分離記号

コマンドでは複数の引数の区切り文字

配列変数では添え字レベルの分離記号

アメリカの数値グループ・セパレータまたはヨーロッパの 10 進小数点文字 (設定可能)。

$ECODE ではエラー・コードを囲みます。(例) ,M7,

,, 二重コンマ : 関数では、未指定の位置パラメータ (既定値を取る) のプレースホルダ。

マイナス記号 (45) : 単項算術マイナス演算子

減算演算子

LOCK コマンドおよび ZBREAK コマンドでは、後に続く項目を無効化、デクリメント、または削除する接頭語です。

正規表現の文字範囲演算子。(例) [A-Z]。

––

二重マイナス記号 : ZBREAK コマンドでは、後に続く項目を削除する接頭語です。

正規表現の減算 (を除く) 論理演算子。

.

ピリオド (46) : アメリカの 10 進小数点文字またはヨーロッパの数値グループ・セパレータ (設定可能)。

オブジェクト・インスタンスのメソッドやプロパティを参照するために使用するオブジェクト・ドット構文 (myinstance.Name)。

Windows および UNIX® : パス名またはパス名の一部として、現在のディレクトリを指定します。$ZSEARCH で使用されます。

グローバル名やルーチン名に組み込まれる場合があります。

参照渡しを指定する実際のパラメータ・リスト内の変数または配列名の接頭語。(例) SET x=$$Calc(num,.result)

パターン・マッチの繰り返し文字

正規表現の単一文字ワイルドカード。

引数なしの DO コマンドの後の、コードのブロック構造の行接頭語。

..

二重ピリオド : 相対ドット構文 : 現在のオブジェクトのメソッドまたはプロパティを指定する接頭語。(例) WRITE ..foo()

Windows および UNIX® : パス名またはパス名の一部として、現在のディレクトリの親ディレクトリを指定します。$ZSEARCH で使用されます。

..# 二重ピリオド、シャープ記号 : 同じクラスのメソッド内からのクラス・パラメータを参照するための接頭語。(例) WRITE ..#MyParam
...

三重ピリオド (省略記号) : 可変数のパラメータを指定するために使用される、仮パラメータ・リストまたは実パラメータ・リスト内の最後の (または唯一の) パラメータの後ろに追加される接尾語。(例) Calc(x,y,params...)。この構文は、通常は Method %DispatchMethod(Method As %String,Params...) などの動的ディスパッチ・メソッドと共に使用されます。

ZWRITE の出力では、末尾の省略記号は文字列が切り捨てられたことを示します。

(コード内でのリテラルの省略記号の使用を、ドキュメント内の形式規約の使用と混同しないでください。省略記号は、引数が複数回繰り返される、またはコード・セクションが意図的に省略されていることを示します。)

/

スラッシュ (47) : 除算演算子 (残余あり)。

OPENCLOSEUSE コマンドでは、入出力キーワード・パラメータ接頭語。READWRITE コマンドでは、デバイス・コントロール・ニーモニック接頭語。

ZBREAK コマンドでは、サブコマンドの接頭語です。

// 二重スラッシュ : 1 行コメント文字。
/// 三重スラッシュ : 1 行コメント文字。マクロ・コメントの列 1 で使用できます。
/* スラッシュ・アスタリスク : 複数行コメントの開始文字。コメントは、*/ で終了します。
:

コロン (58) : コマンドでの後置条件文字。(例) WRITE:x=0 “nothing”。

OPENUSECLOSEJOBLOCKREADZBREAK などのコマンドにおける、引数のプレースホルダ区切り文字または引数内のパラメータの区切り文字。(例) LOCK var1:10、+var2:15、OPEN "|TCP|4":(:4200:"PSTE"::32767:32767)

$CASE および $SELECT 関数では、対になった項目である test:value を指定するのに使用されます。

JSON オブジェクトでは、key:value ペアを指定するために使用されます。 (例) SET JSONobj={"name":"Sam"}

$JOB 特殊変数値では、プロセス ID (PID) とノード名を分離します。(例) 11368:MYCOMPUTER

SQL トリガ・コードなど、埋め込み ObjectScript コード内の ObjectScript ラベルを示す接頭語。この場合、1 列目でラベルをコード化することはできません。

; セミコロン (59) : 1 行コメント文字。
;; 二重セミコロン : 維持された 1 行コメント文字。
<

より小さい (60) : より小さい演算子

&js または &html 指示文に続けて、埋め込み JavaScript または埋め込み HTML コードを囲むために使用します。&js<JavaScript コマンド>。

<= 以下記号 : 以下演算子
'< Not 演算子、より小さい : 以上演算子
=

等記号 (61) : 等しい比較演算子

SET コマンドでは、代入演算子。

'= Not 演算子、等記号 : 等しくない比較演算子
> より大きい (62) : より大きい演算子
>= 以上記号 : 以上演算子
'> Not 演算子、より大きい : 以下演算子
?

疑問符 (63) : パターン・マッチ演算子

正規表現の 0 または 1 文字の修飾子接尾語。正規表現のモード接頭語。(例) (?i) case mode on; (?-i) case mode off。

$ZCONVERT 変換テーブルの結果で、変換できない文字を表します。

$ZSEARCH では、単一文字のワイルドカード。

READ コマンドや WRITE コマンドでは行開始文字。

ZBREAK コマンドでは、ヘルプ・テキストを表示します。

ダイナミック SQL 内で %Execute() メソッドによって提供される入力パラメータ

?# 疑問符とシャープ記号 : 正規表現の埋め込みコメントの接頭語。(例) (?# this is a comment)。@
@ アット記号 (64) : 間接演算子。添え字間接演算子の場合、@array@(subscript) のようになります。
A, a 文字 “A” (65,97) : パターン・マッチ・コード (? に続く)。
C, c 文字 “C” (67,99) : パターン・マッチ・コード (? に続く)。
E, e

文字 “E” (69,101) : 科学的記数法演算子 (例えば、4E3=4000)。大文字の “E” は、標準の指数演算子です。小文字の “e” は、%SYSTEM.ProcessOpens in a new tab クラスの ScientificNotation() メソッドを使用して設定可能な指数演算子です。

パターン・マッチ・コード (? に続く)。

I, i 文字 "I" (73,105) : $NUMBER 関数では整数文字。
i% 文字 “i” パーセント : インスタンス変数構文 : i%propertyname。
L, l 文字 “L” (76,108) : パターン・マッチ・コード (? に続く)。
N, n 文字 “N” (78,110) : パターン・マッチ・コード (? に続く)。
P, p 文字 “P” (80,112) : パターン・マッチ・コード (? に続く)。
U, u 文字 “U” (85,117) : パターン・マッチ・コード (? に続く)。

記号 名前と使用法
[ 角括弧 (開始) (91) : 包含関係演算子
[ ]

角括弧 (91,93) : 拡張グローバル参照 ^["namespace"]global で、ネームスペース名、ディレクトリ名、または NULL 文字列を囲むために使用します。^["^"]ppgname または ^["^",""]ppgname の構文で プロセス・プライベート・グローバルを指定するために使用します。

構造化システム変数 (SSVN) 内において、ネームスペース名 ^$["namespace"]GLOBAL() を囲い、拡張 SSVN 参照を指定します。

XECUTE コマンドまたはプロシージャ定義では、パブリック変数リストを囲みます。(例) [a,b,c]

ZWRITE または引数なしの WRITE コマンドの表示では、オブジェクト参照 (oref) を囲みます。

正規表現はリスト [ABCD] または範囲 [A-D] 内のすべての文字と一致します。

JSON 動的配列の式は、%DynamicArrayOpens in a new tab のインスタンスを返します。(例) SET JSONarray=[1,2,3]

[: :] 角括弧とコロン : 正規表現の文字タイプ・キーワード。(例) [:alpha:]。
\

バックスラッシュ (92) : 整数除算演算子 (残余なし)。モジュロ (#) 演算子と共に使用して、ビット値を決定できます。例えば、$ZA\16#2 は、$ZA 16 ビットの値 (0 または 1) を返します。

正規表現のエスケープ接頭語。JSON 文字列のエスケープ接頭語。例えば \"

] 角括弧 (終了) (93) : 後続関係演算子
]] 二重角括弧 (終了) : 前後関係演算子
^

キャレット (94) : グローバル変数名接頭語。(例) ^myglobal(i)

ルーチン呼び出し接頭語 (例) DO ^routine や DO label^routine

暗黙のネームスペース接頭語 (例) ^system^dir

$BITLOGIC ビット文字列 XOR (排他的 or) 演算子。

正規表現の文字列の最初のアンカー。(例) ^A。正規表現の文字タイプ・キーワードの逆。(例) [:^alpha:]^^

^^ 二重キャレット : 現在のシステムに対する暗黙のネームスペース接頭語。(例) ^^dir
^$ キャレット・ドル記号 : 構造化システム変数の接頭語。(例) ^$GLOBAL() または ^$|"namespace"|GLOBAL()
^$[ キャレット・ドル括弧 : 構造化システム変数 (SSVN) 内において、ネームスペース名 ^$["namespace"]GLOBAL() を囲い、拡張 SSVN 参照を指定します。
^$| キャレット・ドル・バー : 構造化システム変数 (SSVN) 内において、ネームスペース名 ^$["namespace"]GLOBAL() を囲い、拡張 SSVN 参照を指定します。
^% キャレット・パーセント : システム・グローバルの接頭語。(例) ^%utility または ^%qStream
^( キャレット括弧 : ネイキッド・グローバル参照。最新の添え字付きグローバル名は暗黙です。(例) ^(1,2)
^[ キャレット角括弧 (開始) : "角括弧" 参照。
^|

キャレット・バー : 後に続く文字によって、以下のようになります。

引用符付きネームスペース名、ディレクトリ名、または NULL 文字列を一組のバーが囲むグローバル参照である、拡張グローバル参照。バーとそのコンテンツは、グローバル名の一部ではありません。(例) ^|""|globname、または ^|"namespace"|globname

接頭語 ^| が付いたプロセス・プライベート・グローバル。バーは、プロセス・プライベート・グローバル名の一部です。(例) ^||ppgname。また、このプロセス・プライベート・グローバル ^|"^"|ppgname の構文としても有効です。

引用符付きネームスペース名、ネームスペース名に解決する変数、または NULL 文字列を一組のバーが囲む、拡張ルーチン参照。(例) DO ^|"namespace"|routine

_

アンダースコア (95) : 結合演算子

名前の最初の文字

{ }

中括弧 (123,125) : TRYCATCH のブロック、または IFFORDO WHILE、および WHILE のコマンドを持つプロシージャで使用されるコード・ブロックの区切り文字。

SQL 計算コードでは、フィールド名を囲みます。例えば、SET {Age}=18SET {f1} = {f2} のようにします。

XECUTE コマンドでは、変数がプライベートとして扱われるコードを囲みます。

正規表現の修飾子。(例) {5} = 5 回、{3,6} = 3 回以上ただし 6 回以下。正規表現の \p 接頭語を使用する文字タイプ文字コードまたはキーワード。(例) \p{LL}, \p{lower}。正規表現の \N 接頭語を使用する単一文字キーワード。(例) \N{comma}。

JSON ダイナミック・オブジェクトの式は、%DynamicObjectOpens in a new tab のインスタンスを返します。(例) SET JSONobj={"name":"Sam"}

{*} 中括弧内のアスタリスク : SQL 計算コードでは、現在の SQL フィールド名を指定します。
|

垂直バー (124) : $BITLOGIC ビット文字列 OR 演算子。

正規表現の OR 論理演算子。

他の用途は、^| および ^$ を参照してください。

||

二重垂直バー (バー・バー) : OR 論理演算子 (簡易評価)。

複合 ID インジケータ。Caché で使用し、生成された複合オブジェクト ID (連結 ID) を表示します。これは、複数のプロパティに対して定義された IDKey (prop1||prop2)、または親子リレーションシップの ID (parent||child) になります。

~

チルダ (126) : $BITLOGIC ビット文字列 NOT (1 の補数) 演算子。

Windows パス名の場合、長い名前の 8.3 比較を示します。(例) c:\PROGRA~1\。圧縮ディレクトリ名を変換するには、%Library.FileOpens in a new tab クラスの NormalizeDirectory()Opens in a new tab メソッドを使用します。

FeedbackOpens in a new tab