全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2145 6
2013-04-30

The following SAS program is submitted: %let test = one; %let one = two; %let two =

three; %let three = last; %put what displays is &&&&&test; What is written to the SAS log?

A.what displays is one

B.what displays is two

C.what displays is three

D.what displays is last

Answer: B


为什么?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-4-30 07:10:11
宏变量的解析原则:
1. 从左到右,如遇到两个连续的&符号,则解析为一个&符号;
2. 如遇到一个&符号后面连接宏变量名,则解析出改宏变量的值;
3. 重复1,2步,直到解析完毕。

&&&&&test的解析过程是这样的:
1. &&one  (前两个&符号解析为一个&,接下来的两个&解析为一个&,接下来的&test解析为one);
2. &one (前两个&解析为一个&,one不变);
3. two
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-30 20:13:21
pobel 发表于 2013-4-30 07:10
宏变量的解析原则:
1. 从左到右,如遇到两个连续的&符号,则解析为一个&符号;
2. 如遇到一个&符号后面连 ...
也就是说有两个&就变成一个,一直剩到最后只有一个&?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-30 20:31:26
这种坑人的题咱从来没做对过,但真正用起来咱却从来没错过
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-1 11:23:30
wangzhuo422 发表于 2013-4-30 20:13
也就是说有两个&就变成一个,一直剩到最后只有一个&?
如下面的例子:

%put &&;
     --> &

%put &&&;
     --> && -->&

%put &&&&;
    --> && --> &

%put && &&;
%put &&& &&;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-18 08:21:06
超过三个&以上当三个用
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群