通过使用可引入以 DIESEL(直接解释求值字符串表达式语言)编写的宏表达式的命令,可以向宏中添加条件表达式。
格式为:
$M=expression
参照带有 $M= 的宏可指示应用程序将字符串作为 DIESEL 表达式来计算,并通知程序 expression 是 DIESEL 表达式。下例定义了宏中的其他表达式:
FILLMODE $M=$(-,1,$(getvar,fillmode))
宏通过用 1 减去 FILLMODE 的当前值,并将结果值返回给 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),重复执行最后输入的命令。