クラス・メソッドとルーチン
クラス・メソッドを実行するには、Do および ##class 構文を使用します。呼び出すクラス・メソッドが同じクラスにある場合は、ショートカット .. (相対ドット構文) を使用できます。これは、他の言語でクラス・メソッドに対して使用する this. 構文と同様のものです。クラス・メソッドが値を返す場合、式を使用できる場所であれば、どこでもその値を使用できます。最も一般的なケースは、Set を使用して、クラス・メソッドの結果を変数に割り当てる場合です。
ターミナル
USER>set cpus = ##class(%SYSTEM.Util).NumberOfCPUs()
USER>write cpus
4
USER>
% クラスに属する InterSystems IRIS クラス・メソッド (% 文字で始まるクラス) は、任意のネームスペースから呼び出すことができます。クラス名とメソッド名では、大文字と小文字が区別されます。
以下に、これまでに学習した、コードの実行やクラス・メソッドまたはシステム・ルーチンの呼び出しを行うさまざまな構文の概要を示します。クラス・メソッドとルーチンの違いは何でしょうか。ルーチン (およびその内部のプロシージャ) は古い形式で、下位互換性を保つために現在もサポートされています。このチュートリアルではクラス・メソッドを重点的に取り扱います。クラス・メソッドについて学習した内容のほとんどは、ルーチンやプロシージャにも適用されます。VS Code - ObjectScript を使用してルーチンを作成することもできます。
クラス・メソッドの呼び出し
構文 | 意味 |
---|---|
do ##class(ObjectScript.RightTriangle).Main() | ObjectScript.RightTriangle クラスの Main() クラス・メソッドを呼び出します。 |
while ..IsNegative(side1) | 現在のクラス (ObjectScript.RightTriangle) の IsNegative() クラス・メソッドを呼び出して、ループを終了するかどうかを判断します。 |
do ..Compute(units, side1, side2) | 現在のクラス (ObjectScript.RightTriangle) の Compute() クラス・メソッドを呼び出して、計算を実行します。 |
set cpus = ##class(%SYSTEM.Util).NumberOfCPUs() | %SYSTEM.UtilOpens in a new tab クラスの NumberOfCPUs() クラス・メソッドを呼び出して、その戻り値を変数に割り当てます。 |
ルーチンの呼び出し
構文 | 意味 |
---|---|
do ^%D | %D ルーチンを呼び出して、現在の日付を表示します。 |
do ^%T | %T ルーチンを呼び出して、現在の時刻を表示します。 |
do ^%CD | %CD ルーチンを呼び出して、別のネームスペースに変更します。 |
do ^%FREECNT | %FREECNT ルーチンを呼び出して、現在のデータベースの空き容量を表示します。 |
do ALL^%FREECNT | %FREECNT ルーチン内の ALL プロシージャを呼び出して、すべてのデータベースの空き容量を表示します。 |