全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2094 3
2011-09-12
请问可以在宏里面定义宏吗? 如下面这样,测试好像没有错,但不知这样的写法推不推荐:
写法一:
%macro f1;
      %put this is f1;      
      %macro f2;
              %put this is f2;
              %macro f3;
                      %put this is f3;
              %mend f3;  
              %f3;
      %mend f2;      
      %f2;      
%mend f1;
%f1;

写法二:
%macro f3;
      %put this is f3;
%mend f3;

%macro f2;
      %put this is f2;  
      %f3;
%mend f2;  

%macro f1;
      %put this is f1;        
      %f2;      
%mend f1;

%f1;

请问哪种写法规范些?
二维码

扫码加我 拉你入群

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

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

全部回复
2011-9-13 00:45:31
双层宏当然可以,只不过如果需要passing parameter到第二层时,注意第二层的parameter名字前要用&,否则,就会出问题!
二维码

扫码加我 拉你入群

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

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

2011-9-13 07:10:38
个人习惯是偏向第二种写法,因为这样写的程序可读性较好,同时也方便其他程序,程序内其他地方再次调用。就像c一样,把macro看做是一个自定义函数或过程。
二维码

扫码加我 拉你入群

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

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

2011-9-13 09:55:07
第一种写法的不足是:发现缩放功能没了,不能把某个macro收缩起来。
第二种写法的不足是:缩放的柄太多了,要一个一个点击,请问有缩放的快捷键吗?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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