小编use*_*461的帖子

SAS间接宏处理

我在考试试卷上有一个问题,询问SAS日志中的内容

%let test=one;
%let one=two;
%let two=three;
%let three=last;

%put what displays is &&&&&test;
Run Code Online (Sandbox Code Playgroud)

我很惊讶地发现,答案是: 2,因为我本来以为这将参考完全解析到最后.SAS也同意答案为两个.

任何人都可以解释一下SAS如何得出答案二,因为我读过的所有理论说明都表明宏处理器应该做到以下几点

  • scan1 &&&&& test - > &&&& test(即&&解析为&并告诉处理器继续从右向左扫描)
  • scan2 &&&& test - > &&& one
  • scan3 &&& one - > && two
  • scan4 && two - >&three
  • scan5&three - > last

sas sas-macro

2
推荐指数
1
解决办法
862
查看次数

标签 统计

sas ×1

sas-macro ×1