Skip to main content

#execute

コンパイル時に ObjectScript の行を実行します。

説明

このマクロ・プリプロセッサ指示文は、コンパイル時に ObjectScript の行を実行します。以下の形式をとります。

#execute <ObjectScript code>

ここで、#execute に続く内容は、有効な ObjectScript コードです。このコードは、コンパイル時に値を持つ任意の変数またはプロパティを参照できます。また、コンパイル時に使用可能な任意のメソッドまたはルーチンを呼び出すことができます。ObjectScript コマンドと関数は、常に呼び出すことができます。

#execute は、コードの実行に成功したかどうかを示す値を返しません。コードの実行結果を示す状態コードなどの情報はアプリケーション・コード側で確認する必要があります。この確認操作には、別の #execute 指示文や他のコードを使用できます。

Note:

ローカル変数と共に #execute を使用すると、予期しない結果が生じる場合があります。この理由は、以下のとおりです。

  • コンパイル時に使用される変数が、実行時に範囲外になる可能性があります。

  • 複数のルーチンまたはメソッドで、参照時に変数が利用できない場合があります。この問題は、アプリケーション・プログラマがコンパイル順序を制御しないと、悪化する場合があります。

例えば、コンパイル時に曜日を決定し、以下のコードを使用して保存できます。

#execute KILL ^DayOfWeek
#execute SET ^DayOfWeek = $ZDate($H,12)

 WRITE "Today is ",^DayOfWeek,".",!

この ^DayOfWeek グローバルは、コンパイルを実行するたびに更新されます。

FeedbackOpens in a new tab