目录
SAS常用注释:
- * message ;
- comment message ;
- /* message */
- %* message ;
说明:
第一种注释要求message中不得包含";",通常使用在非宏程序中。
第二种和第一种要求相同
第三种注释限制message中不得包含"*/",对宏与非宏程序未作区分。
第四种常用于宏程序中,功能与第一种在非宏文本里相似。
将第一种注释方式适用于宏程序中,出错概率较大。如下:
%macro comments;
*%do i =1;
%mend;
%comments;
log如下:
ERROR原因:
方式1和2属于完整SAS声明语句。它们在程序编译时总被TOKENIZER(标记化)和MACRO FACILITY处理。因此,无法含有";"及非对称的引号。在宏编译时,它们被作为文本常量存储,因此,在注释里的宏声明语句将被执行。比如以上%DO语句被执行。因此,SAS最好不要再宏程序中使用1和2类注释语句。
与此相反,第3类注释语句不被标记,而只是作为字符串进行处理。这一类语句并没有在编译的宏程序中储存。
对于第4类的注释语句,因文本并非常量,所以没有在编译的宏程序中储存。但作为完整的宏程序语句,它的确为MACRO FACILITY处理。
综上所述,只有3和4类注释语句被用于隐藏宏声明程序。
注释快捷键:
加注释:ctrl+/
取消注释:ctrl+shift+/
上述快捷方式仅适用于第三类注释语句。
转载连接:SAS Comments 注释语句_jingju_新浪博客
SAS note: 32684 - Using comments within a macro