全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1460 1
2013-01-09
情况1

218 %let Mv=shoes;
219 %macro PRODUCT(Mv=bicycles);
220 %let Mv=clothes;
221 %mend;
222 %PRODUCT(Mv=tents)
223 %put Mv is &Mv;
Mv is shoes

定义了全局宏变量mv和本地宏变量mv(通过注册列表), 在宏程序外只能引用全局宏变量.

情况2

224 %let Mv=shoes;
225 %macro PRODUCT;
226 %let Mv=clothes;
227 %mend;
228 %PRODUCT;
229 %put Mv is &Mv;
Mv is clothes

定义了全局宏mv, 同时在product中未声明修改mv是全局的还是本地的, 因此一层一层往外找, 找到全局的mv并修改了它.

情况3

230 %let Mv=shoes;
231 %macro PRODUCT;
232 %local mv;
233 %let Mv=clothes;
234 %mend;
235 %PRODUCT;
236 %put Mv is &Mv;
Mv is shoes

在注册列表定义宏变量就相当与在宏程序中写%local语句.
二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-9 15:13:15
学习了,谢谢你!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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