我在一开始就继承了一些宏,定下了以下几行:
%macro dummy; %mend dummy;
这个宏在任何地方都没有特殊的调用,我不明白它的意思......
答案 0 :(得分:4)
宏没有“意义”。它只是一个宏的声明,不包含任何代码。因此,当你运行它时没有任何反应。
但是,可能是尝试清除以前定义的名为dummy
的宏,以避免意外执行此操作。
更正确的清除方法(或在此情况下删除)将使用(在SAS 9.3及更高版本中运行):
%SYSMACDELETE dummy;
这样,如果你要执行一个名为dummy
的宏,你会得到一个错误,即这个宏不存在。如果您在示例中清空了宏的内容,则不会出现此错误。
答案 1 :(得分:0)
如果代码打算在Enterprise Guide中使用,虚拟宏定义在另一个(真实)宏定义中,那么它可能是一个强制语法突出显示的黑客。
例如:
%macro real;
/* Some sas code but without syntax highlighting */
%mend real;
可是:
%macro real;
/* Some sas code but without sintax highlighting */
%macro dummy; %mend dummy;
/* Some sas code with syntax highlighting */
%mend real;
似乎是重新启用突出显示的%mend
。