Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ProcedureBlock

このメソッドがプロシージャ・ブロックであるかどうかを指定します。メソッドが ObjectScript で記述されている場合にのみ適用されます。

使用法

クラス定義は、クラス内のメソッドが、既定でプロシージャ・ブロックであるかどうかを指定します。既定をオーバーライドして、特定のメソッドがプロシージャ・ブロックであることを指定するには、以下の構文を使用します。

Method name(formal_spec) As returnclass [ ProcedureBlock ]
{
   //implementation
}

または (同様に)

Method name(formal_spec) As returnclass [ ProcedureBlock=1 ]
{
   //implementation
}

そのようにせずに、特定のメソッドがプロシージャ・ブロックでないことを指定するには、以下の構文を使用します。

Method name(formal_spec) As returnclass [ ProcedureBlock=0 ]
{
   //implementation
}

詳細

このキーワードは、ObjectScript メソッドがプロシージャ・ブロックであることを指定します。

ObjectScript では、メソッドはプロシージャ・ブロックとして実装することも、しないこともできます。プロシージャ・ブロックは、変数の範囲設定を強制します。メソッドからは、呼び出し元で定義されている変数は見えません。新しいアプリケーションはプロシージャ・ブロックを使用しますが、従来のアプリケーションとの互換性を保つために、非プロシージャ・ブロックも存在します。

既定値

このキーワードを省略すると、クラス・レベルの ProcedureBlock キーワードの値が使用されます。

関連項目

FeedbackOpens in a new tab