概要 - マクロで条件式を使用する

DIESEL (Direct Interpretively Evaluated String Expression Language) で書かれたマクロ式を導入するマクロを使用して、マクロに条件式を追加できます。

形式は次のとおりです。

$M=expression

$M= でマクロを始めることにより、その後に続く文字列を DIESEL 式として評価するよう、アプリケーションに指示します。「式」は DIESEL 式 です。次の例では、マクロで条件式を定義しています。

FILLMODE $M=$(-,1,$(getvar,fillmode))

このマクロは、システム変数 FILLMODE をオンまたはオフに切り替えます。この切り替えは、1 から現在の FILLMODE 値を減算して得た値をシステム変数 FILLMODEに返すことによって行われます。この方法によって、システム変数を、有効値である 1 または 0(ゼロ)に切り替えることができます。

条件式を含むマクロを終了する

DIESEL 文字列言語を使用して "if-then" テストを実行する場合、条件が成立した後の通常終了のスペースまたはセミコロン(結果は[Enter])が不要な場合があります。マクロの後に ^Z を付けると、アプリケーションはマクロ式の終わりにスペース([Enter])を付加しません。

コマンド内の他の制御文字と同じように、ここで使用する ^Z は、^(カレット)と Z で構成される文字列で、[Ctrl]+[Z] (Mac OS では[Control]-[Z])ではありません。

次に、^Z をマクロの終止記号として使用している例を示します。

^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z

上記のマクロが ^Z で終了しなかった場合、自動的にスペース([Enter])が追加され、最後に入力されたコマンドが再実行されてしまいます。