有人能举例说明宏变量的间接引用是如何工作的以及它们被使用的原因?我仍然感到困惑,为什么当你可以直接引用宏变量时甚至需要间接引用。
答案 0 :(得分:2)
当您需要通过代码生成引用时使用间接引用,通常是宏代码(通常可以通过其他代码创建直接引用)。例如:
%let n1=5;
%let n2=3;
%macro doit(whichn=);
%put &&n&whichn..;
%mend doit;
%doit(whichn=1);
%doit(whichn=2);
您经常在宏循环中使用它,例如
%do x=1 to 2;
%put &&n&x..;
%end;
循环通过n1和n2。