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 では、メソッドはプロシージャ・ブロックとして実装することも、しないこともできます。プロシージャ・ブロックは、変数の範囲設定を強制します。メソッドからは、呼び出し元で定義されている変数は見えません。新しいアプリケーションはプロシージャ・ブロックを使用しますが、従来のアプリケーションとの互換性を保つために、非プロシージャ・ブロックも存在します。
関連項目
-
このドキュメントの “メソッド定義”
-
"クラスの定義と使用" の “メソッドの定義と呼び出し”
-
"クラスの定義と使用" の “メソッド・ジェネレータとトリガ・ジェネレータの定義”
-
"クラスの定義と使用" の “コンパイラ・キーワードの概要”