ObjectScript 特殊変数
特殊変数とは、システムによって管理されている変数です。特殊変数はシステム変数とも呼ばれますが、構造化システム変数との混乱を避けるため、ここでは特殊変数と呼びます。
特殊変数名の先頭には、$ が付いています。特殊変数には後に括弧が付かず、引数も持たないので、関数と区別されます。特殊変数名は、大文字と小文字が区別されません。多くの特殊変数名には省略形があります。各特殊変数の説明では、最初に完全名を使用した構文が示され、その下に略名を使用した構文が示されます (略名がある場合)。
元来から、特殊変数はスカラ値を保持してきました。システムは自動的に特殊変数を更新し、オペレーティング環境のさまざまな機能を反映します。例えば、$IO 特殊変数は現在のデバイスの ID を含みます。$JOB 特殊変数は、現在のジョブ ID を含みます。
複数の特殊変数を設定できますが、大半は読み取り専用です。この読み取り専用の制約を除き、その他の変数と同様に特殊変数を処理できます。例えば、式で特殊変数を参照したり、別の (ユーザ定義の) 変数に現在の値を代入できます。
実装固有の特殊変数の形式は、それをサポートしているプラットフォームの略語と共に示されています (Windows や UNIX®)。プラットフォーム略語が付いていないものは、すべてのプラットフォームでサポートされています。
特殊変数はアルファベット順で示されます。
- $DEVICE (ObjectScript) – ユーザ定義のデバイス状況情報を含みます。
- $ECODE (ObjectScript) – 現在のエラー・コード文字列を含みます。
- $ESTACK (ObjectScript) – ユーザ定義のポイントから、コール・スタック上に保存されている、コンテキスト・フレーム数を含みます。
- $ETRAP (ObjectScript) – エラー発生時に実行する ObjectScript コマンドの文字列を含みます。
- $HALT (ObjectScript) – 停止トラップ・ルーチン呼び出しを含みます。
- $HOROLOG (ObjectScript) – 現在のプロセスのローカルな日付と時刻を含みます。
- $IO (ObjectScript) – 現在の入出力デバイスの ID を含みます。
- $JOB (ObjectScript) – 現在のプロセスの ID を含みます。
- $KEY (ObjectScript) – 最新の READ からのターミネータ文字を含みます。
- $NAMESPACE (ObjectScript) – 現在のスタック・レベルのネームスペースを含みます。
- $PRINCIPAL (ObjectScript) – 主入出力デバイスの ID を含みます。
- $QUIT (ObjectScript) – 現在のコンテキストを終了するのに必要な QUIT の種類を示すフラグを含みます。
- $ROLES (ObjectScript) – 現在のプロセスに割り当てられているロールを含みます。
- $STACK (ObjectScript) – コール・スタックに保存されているコンテキスト・フレーム数を収めた特殊変数です。
- $STORAGE (ObjectScript) – ローカル変数ストレージに使用できるバイト数を含みます。
- $SYSTEM (ObjectScript) – システム・オブジェクトに関するシステム情報を含みます。
- $TEST (ObjectScript) – タイムアウト・オプションを使用した最後のコマンドの結果である真理値を含みます。
- $THIS (ObjectScript) – 現在のクラス・コンテキストを含みます。
- $THROWOBJ (ObjectScript) – 失敗した THROW からの OREF が含まれます。
- $TLEVEL (ObjectScript) – トランザクション処理に対する、現在の入れ子レベルを含みます。
- $USERNAME (ObjectScript) – 現在のプロセスのユーザ名を含みます。
- $X (ObjectScript) – カーソルの現在の水平位置を含みます。
- $Y (ObjectScript) – カーソルの現在の垂直位置を含みます。
- $ZA (ObjectScript) – 現在のデバイス上の最後の READ の状況が含まれます。
- $ZB (ObjectScript) – 現在の入出力デバイスに関する状況情報を含みます。
- $ZCHILD (ObjectScript) – 最後の子プロセスの ID を含みます。
- $ZEOF (ObjectScript) – ファイルの最後に到達したかどうかを示すフラグを含みます。
- $ZEOS (ObjectScript) – 圧縮ストリーム読み取り時のストリーム終端ステータスが格納されます。
- $ZERROR (ObjectScript) – 最後のエラーの名前と位置を含みます。
- $ZHOROLOG (ObjectScript) – InterSystems IRIS の開始以後に経過した秒数を含みます。
- $ZIO (ObjectScript) – 現在のターミナル入出力デバイスに関する情報を含みます。
- $ZJOB (ObjectScript) – ジョブの状況情報を含みます。
- $ZMODE (ObjectScript) – 現在の入出力デバイス OPEN パラメータを含みます。
- $ZNAME (ObjectScript) – 現在のルーチン名を収めた特殊変数です。
- $ZNSPACE (ObjectScript) – 現在のネームスペース名を含みます。
- $ZORDER (ObjectScript) – 次のグローバル・ノードの値を含みます。
- $ZPARENT (ObjectScript) – 現在のプロセスの親プロセスの ID を含みます。
- $ZPI (ObjectScript) – 円周率の値を含みます。
- $ZPOS (ObjectScript) – シーケンシャル・ファイルの読み取り中の、現在のファイル位置を含みます。
- $ZREFERENCE (ObjectScript) – 現在のグローバル参照を含みます。
- $ZSTORAGE (ObjectScript) – プロセスに使用可能な最大メモリです。
- $ZTIMESTAMP (ObjectScript) – UTC (Coordinated Universal Time) 形式で、現在の日付と時刻を含みます。
- $ZTIMEZONE (ObjectScript) – グリニッジ子午線からのタイム・ゾーン・オフセットを含みます。
- $ZTRAP (ObjectScript) – 現在のエラー・トラップ・ハンドラの場所が含まれます。
- $ZVERSION (ObjectScript) – InterSystems IRIS の現在のバージョンを表す文字列を含みます。