Macros %SAS宏中的mend语句

Macros %SAS宏中的mend语句,macros,sas,Macros,Sas,我刚刚意识到定义宏的两种方法都是有效的。这两者之间有什么区别吗?实际上,没有区别,你可以使用这两者中的任何一个。但是作为一个好的编程实践,您应该使用第一个,因为它有助于确定宏的结束位置 如果您使用的是第一个,请记住在用于宏的名称后面加上相同的名称,否则SAS将发出警告 不,绝对没有区别。所有这些在技术上都是一样的 %macro A1(input); [balala] %mend A1; %macro A1(input); [balala] %mend; (二) %mend; %mend

我刚刚意识到定义宏的两种方法都是有效的。这两者之间有什么区别吗?

实际上,没有区别,你可以使用这两者中的任何一个。但是作为一个好的编程实践,您应该使用第一个,因为它有助于确定宏的结束位置

如果您使用的是第一个,请记住在用于
的名称后面加上相同的名称,否则
SAS
将发出
警告


不,绝对没有区别。所有这些在技术上都是一样的

%macro A1(input);
[balala]
%mend A1;


%macro A1(input);
[balala]
%mend;
(二)

%mend;
%mend <macroname>;
%mend <something else>;
%macro OuterMacro;
    %macro submacro;
        %put 1;
    %mend OuterMacro;
%mend submacro;
%macro OuterMacro;
    %macro submacro;
        %put 1;
    %mend submacro;
%mend OuterMacro;