“%*;”是什么意思在SAS是什么意思?

“%*;”是什么意思在SAS是什么意思?,sas,Sas,我今天遇到了一行SAS代码,看起来像这样: %*let var1=apple; 这是什么意思?(它是注释?还是宏?为什么要用%符号?这是宏注释 因此,正如所写的,这一行永远不会执行这是一个宏注释 因此,正如所写的,这一行永远不会执行,这只是另一种注释方式: 从 除了用作乘法运算符之外, 星号出现在不同的地方,表示 交互作用或交叉分类(例如 PROC FREQ)和中的TABLES语句 指示重复一次的次数 字符串(如过程报告中所示)

我今天遇到了一行SAS代码,看起来像这样:

%*let var1=apple;

这是什么意思?(它是注释?还是宏?为什么要用
%
符号?

这是宏注释


因此,正如所写的,这一行永远不会执行

这是一个宏注释


因此,正如所写的,这一行永远不会执行,这只是另一种注释方式:

除了用作乘法运算符之外, 星号出现在不同的地方,表示 交互作用或交叉分类(例如 PROC FREQ)和中的TABLES语句 指示重复一次的次数 字符串(如过程报告中所示)<是的 用于单独或单独注释语句 与斜杠(/*…*/)或百分比连用 符号(%)。星号还迫使SAS 通过计算 数组中的变量数。两个星号 指示求幂运算符


这只是另一种评论方式:

除了用作乘法运算符之外, 星号出现在不同的地方,表示 交互作用或交叉分类(例如 PROC FREQ)和中的TABLES语句 指示重复一次的次数 字符串(如过程报告中所示)<是的 用于单独或单独注释语句 与斜杠(/*…*/)或百分比连用 符号(%)。星号还迫使SAS 通过计算 数组中的变量数。两个星号 指示求幂运算符

如问题中所述,通过在普通注释星号前面加上
%
前缀创建的注释与常规注释有细微的不同

常规注释,
*某物,将由宏标记器和宏工具处理。99%的时候,这并不重要;然而,在某些特定情况下,这是一个问题

例如,如果要注释掉宏语法,则必须使用宏注释,否则它仍然有效:

%macro macvar_Test;
  %let macvar=ORIGINAL;
  *%let macvar=COMMENT;
  %*%let macvar=MACRO COMMENT;
  %put &=macvar;
%mend macvar_Test;

%macvar_Test;
请注意,
&macvar
包含
注释
——即使该行似乎已注释掉

宏注释仍然由宏标记器处理,因此不匹配的引用仍然会有问题,除非您使用
/***/
样式块注释。

通过在普通注释星号前面加上
%
创建,如问题中所述,与常规注释有细微的不同

常规注释,
*某物,将由宏标记器和宏工具处理。99%的时候,这并不重要;然而,在某些特定情况下,这是一个问题

例如,如果要注释掉宏语法,则必须使用宏注释,否则它仍然有效:

%macro macvar_Test;
  %let macvar=ORIGINAL;
  *%let macvar=COMMENT;
  %*%let macvar=MACRO COMMENT;
  %put &=macvar;
%mend macvar_Test;

%macvar_Test;
请注意,
&macvar
包含
注释
——即使该行似乎已注释掉


宏注释仍然由宏标记器处理,因此不匹配的引用仍然会有问题,除非您使用
/**/
样式块注释。

AESTracks(*)似乎是一个输入错误,let之前的
%
需要声明任何不属于任何数据集的变量。该*不是一个拼写错误-从下面的答案可以看出,该行代码只是一条注释。AESTracks(*)似乎是一个拼写错误,let之前的
%
需要声明任何不属于任何数据集的变量。*不是打字错误,从下面的答案可以看出,这行代码只是一条注释。这并不能正确回答问题。这不仅仅是“另一个评论”,它是有目的的。这并不能正确回答问题。这不仅仅是“另一个评论”,它是有目的的。官方的SAS文档参考非常有用。该示例说明了标准
*注释之间的差异
%*注释
非常清楚。谢谢。上的官方SAS文档参考非常有用。该示例说明了标准
*注释之间的差异
%*注释
非常清楚。谢谢