詳細
このキーワードは、任意のメソッドの実装方法を指定します。
通常、メソッドは 1 行以上の行のコードを使用して実装します。これは、CodeMode の既定値の code で指定されます。この場合、メソッド実装は 1 行以上のコードになります。
一部の単純なメソッドは、expression メソッドとして実装できます。クラス・コンパイラは、このメソッドに対する呼び出しを、式を含むインライン・コードと置換することもあります。この場合、メソッド実装は (no Quit または Return 文とあわせて) 単純な式となります。
呼び出しメソッドは、ルーチンのラッパです。この場合、メソッド実装はルーチン名とタグ名になります。
メソッド・ジェネレータは、クラスのコンパイル時にクラス・コンパイラによって実行されるプログラムです。これは、任意のメソッドに対する実際の実装を生成します。この場合、メソッド実装はメソッド・ジェネレータ用のコードとなります。"クラスの定義と使用" の "メソッド・ジェネレータとトリガ・ジェネレータの定義" を参照してください。
既定値
CodeMode キーワードの既定値は、code です。
例
/// An expression method
Method Double(val As %Integer) As %Integer [ CodeMode = expression ]
{
val * 2
}
/// A Method generator
Method GetClassName() As %String [ CodeMode = objectgenerator ]
{
Do %code.WriteLine(" Quit """ _ %class.Name _ """")
Quit $$$OK
}