关键字自变量 (DEFINE-!ENDDEFINE 命令)

使用可按任何顺序指定的用户定义的关键字来调用关键字参数。 在宏主体中,自变量名称前面有惊叹号。 在宏调用上,指定不带惊叹号的自变量。

  • 关键字参数定义包含参数名称,等号以及 !TOKENS!ENCLOSE!CHAREND!CMDEND 关键字。 请参阅主题 将标记分配给自变量 (DEFINE-!ENDDEFINE 命令) 以获取更多信息。
  • 参数名称限制为 63 字节,并且不能与宏关键字的字符部分匹配,例如 DEFINETOKENSCHAREND等。
  • 不能在关键字参数定义中使用关键字 !POSITIONAL
  • 不必按定义关键字自变量的顺序调用关键字自变量。

示例

DATA LIST FILE=MAC / V1 1-2 V2 4-5 V3 7-8.

* Macro definition.
DEFINE macdef2 (arg1 = !TOKENS(1)
               /arg2 = !TOKENS(1)
               /arg3 = !TOKENS(1))
frequencies  variables = !arg1 !arg2 !arg3.
!ENDDEFINE.

* Macro call.
macdef2 arg1=V1  arg2=V2  arg3=V3.
macdef2 arg3=V3  arg1=V1  arg2=V2.
  • 定义了三个参数: arg1arg2arg3,每个参数都有一个标记。 在第一个宏调用中, arg1 分配了值 V1arg2 分配了值 V2arg3 分配了值 V3。然后, V1V2V3 将用作 FREQUENCIES 命令中的变量。
  • 第二个宏调用产生与第一个宏调用相同的结果。 使用关键字参数时,您不需要按定义参数的顺序调用这些参数。