メソッド定義
概要
ほとんどの場合、メソッド定義は、メソッドの実行時動作を定義します。Caché はメソッド・ジェネレータもサポートします。これは実行時に使用するコードを生成する特殊なメソッドです。
詳細
メソッド定義の構造は以下のとおりです。
/// description Method name(formal_spec) As returnclass [ keyword_list ] { implementation }
または (クラス・メソッドでは) 以下のとおりです。
/// description ClassMethod name(formal_spec) As returnclass [ keyword_list ] { implementation }
または (クライアント・メソッドでは) 以下のとおりです。
/// description ClientMethod name(formal_spec) As returnclass [ keyword_list ] { implementation }
以下は、この指定の説明です。
-
description (オプション) は、クラス・リファレンスでの表示を意図しています。description は既定ではブランクです。 "Caché オブジェクトの使用法" の “クラス・ドキュメントの作成” を参照してください。
-
name (必須) はメソッドの名前です。これは、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複しないものである必要があります。
-
formal_spec (オプション) は、メソッドとやり取りする引数のリストを指定します。
その形式仕様は、メソッドの引数とそのタイプ、呼び出しタイプ (ByRef、Output、または ByVal)、オプションの既定値のリストです。Output の呼び出しタイプは、参照によって渡される引数を示すために使用されますが、受信する値は名目上使用されません。
-
returnclass (オプション) は、このメソッドから返される値のタイプ (ある場合) を指定します。returnclass を省略する場合は、単語 As も省略します。
-
keyword_list (オプション) は、さらにメソッドを定義するキーワードのコンマ区切りリストです。
“Method キーワード” のセクションを参照してください。
このリストを省略する場合は、角括弧も省略します。
-
implementation (オプション) は、メソッドの実行内容を定義するコードのゼロ以上の行です。
使用するプログラミング言語は、クラス・レベルの Language またはメソッド・レベルの Language キーワードで指定します。
パラメータ値
formal_spec および returnclass には、クラス名の後にオプションのパラメータ値を指定できます。メソッドを SQL ストアド・プロシージャとして使用する場合、これらのパラメータ値を ODBC または JDBC クライアントに対して追加情報を提供するために使用します。その他の場合は、これらのパラメータはすべて無視されます。以下に例を示します。
ClassMethod MyProc(data As %String(MAXLEN = 85)) As %Integer [ SQLProc ]
{
Quit 22
}
別の例を示します。
ClassMethod GetName() As %String(MAXLEN=222) [ SQLProc ]
{
Quit "Mo"
}
関連項目
-
Caché オブジェクトの使用法 の “メソッドの定義と呼び出し”
-
Caché オブジェクトの使用法 の “メソッド・ジェネレータとトリガ・ジェネレータの定義”
-
このドキュメントの “Method キーワード”
-
Caché プログラミング入門ガイド の “一般的なシステム制限” の “クラスの制限”