全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13250 9
2014-11-07
先来点前戏,润滑润滑,例如:
%let mvar=here;
%let x=10;
%let here10=yousee;
%let mvar10=kcuf;


/*试做如下测试:*/
%put &mvar.&x;/*log 显示:here10*/

%put &mvar&x;/*显示here10*/


由此可见,在连续引用两个宏时,加不加点都无所谓的。但为了看到底有啥不同,我们加一个&

%put &&mvar&x;/显示为 kcuf
看来多个宏连在一起时,是从右往左赋值的~这个吊

%put &&mvar.&x;/显示为 here10
我操有戏,就是想得到here10的内容;

%put &&&mvar.&x;/显示为:yousee

到此为止了,总结一下.
如果想让两个文本直接连在一起,那就用两个&不用.
如果想得到的宏变量本身是有两个宏变量连在一起的,那就必须用&&&.&的形式再者&&.&的结果跟&.&的结果一样是怎么回事?
但再加一个&就不一样了?

我擦,似乎也没总结出什么东西.各位看官可有其它见解?



二维码

扫码加我 拉你入群

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

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

全部回复
2014-11-7 14:04:52
在实际运用当中,很多情况是需要用组合的宏变量,这下有救了!
二维码

扫码加我 拉你入群

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

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

2014-11-8 13:09:52
&&mvar&x    -> &mvar10  -> kcuf
&&mvar.&x   -> &mvar.10 -> here10
&&&mvar.&x -> &here10   -> yousee (其中&&变成&,&mvar.变成here,&x变成10)
二维码

扫码加我 拉你入群

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

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

2014-11-9 14:38:36
teqel 发表于 2014-11-8 13:09
&&mvar&x    -> &mvar10  -> kcuf
&&mvar.&x   -> &mvar.10 -> here10
&&&mvar.&x -> &here10   -> youse ...
是这么解析的!
二维码

扫码加我 拉你入群

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

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

2014-12-31 07:36:48
冰棱 发表于 2014-11-9 14:38
是这么解析的!
感谢楼主的分享。感觉这里还是有些搞不懂,比如如何读取kcuf10
有应该怎么写呢?似乎到了第二重就无法继续了,而且无法用括号,这个太假了
二维码

扫码加我 拉你入群

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

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

2015-1-12 16:12:37
13zl34 发表于 2014-12-31 07:36
感谢楼主的分享。感觉这里还是有些搞不懂,比如如何读取kcuf10
有应该怎么写呢?似乎到了第二重就无法继 ...
先来点前戏,润滑润滑,例如:
%let mvar=here;
%let x=10;
%let here10=yousee;
%let mvar10=kcuf;

&mvar10.10即可。我一定是好久没上了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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