冒泡回答下,你说的间接宏变量是否就是变量前&&、&&&、&&&&时SAS系统是什么样的处理机制?
举例如下:
SAS宏处理器在读到SAS代码中的&时,会:
1、 向后继续读一个字符;
2、 如果后面的字符也为&,则宏处理器将读到的两个&&并做一个&看待,然后转到步骤1;
3、 否则,将后面连续的非&字符(直到空格或&)做为宏变量名字符串。
对于&&name&i,解析流程如下:
&&name&i ——> (&&)name(&i) ——> &name1 ——> shanghai
对于&&&name,解析流程为:
&&&name ——> (&&)(&name) ——> &location ——> beijing
对于&&&&name,解析流程为:
&&&&name ——> (&&)(&&)name ——> &&name ——> (&&)name ——> &name ——> location
希望对你有所帮助,谢谢!