拡張参照
InterSystems IRIS® データ・プラットフォームでは、サーバ上で実行されるすべてのコードはネームスペース内で実行されます。"ネームスペースとデータベース" を参照してください。ObjectScript は、他のネームスペースの特定の種類の項目を参照するための構文である、拡張参照をサポートしています。
概要
拡張参照とは他のネームスペースにあるエンティティへの参照のことです。ネームスペース名は引用符で囲んだ文字列リテラル、ネームスペース名に解決する変数、暗黙的なネームスペース名、または現在のネームスペースを指定するプレースホルダである NULL 文字列 ("") として指定できます。
すべての拡張参照は名前によって明示的に、もしくは NULL 文字列のプレースホルダ指定により、現在のネームスペースを指定できます。
タイプ
拡張参照には、以下の 3 つのタイプがあります。
-
拡張グローバル参照 : 他のネームスペースのグローバル変数を参照します。以下の構文形式がサポートされます。
^["namespace"]global ^|"namespace"|global
詳細は、"拡張グローバル参照" を参照してください。
-
拡張ルーチン参照 : 他のネームスペースのルーチンを参照します。
-
DO コマンド、$TEXT 関数、およびユーザ定義関数は次の構文形式をサポートしています。
|"namespace"|routine
-
JOB コマンドは、次の構文形式をサポートしています。
routine|"namespace"| routine["namespace"] routine:"namespace"
これらのすべての場合において、参照の開始には ^ (キャレット) 文字を使用し、指定したエンティティが (ラベルやオフセットではなく) ルーチンであることを示します。このキャレットはルーチン名の一部ではありません。例えば、DO ^|"SAMPLES"|fibonacci は、SAMPLES ネームスペースに置かれている fibonacci という名のルーチンを呼び出します。WRITE $$fun^|"SAMPLES"|house コマンドは、SAMPLES ネームスペースに置かれている、ルーチン house のユーザ定義関数 fun() を呼び出します。
-
-
拡張 SSVN 参照 : 他のネームスペースの構造化システム変数 (SSVN) を参照します。以下の構文形式がサポートされます。
^$["namespace"]ssvn ^$|"namespace"|ssvn