【发布时间】:2018-05-30 08:24:39
【问题描述】:
SAS EG 中有一个简洁的功能,可以让人们在键入时查看宏函数的参数及其定义。
例如,如果我执行:
%macro test
(a /* this is a */
,b /* this is b */
);
%put a b;
%mend;
然后输入%test(,弹出窗口会显示“a : this is a”等...
不幸的是,由于某种原因,它似乎只有在当前程序中定义了宏函数时才有效(所以基本上是在您真正不需要它的唯一地方,因为在这种情况下,它应该在您的脑海中很新鲜)。
在其他程序和其他流程中,有什么方法可以从该功能中受益?
更重要的是,我如何从存储的已编译宏的此功能中受益?
比如说我在另一个会话中定义的:
options mstored sasmstore=mylib;
%macro test2
(c /* this is c */
,d /* this is d */
) / store source des='show c and d';
%put c d;
%mend;
我想一种解决方法是创建一个宏%redefine_all,它将遍历目录并执行每个存储的宏定义,但这很丑陋,我不完全确定我会如何去做...
【问题讨论】:
-
这个问题也与自动调用宏有关吗?显示创建存储的已编译宏的示例代码,该宏将在未来的 EG 会话中可用,但不
-
请查看更新后的问题。该宏在其他会话中可用,但不会触发此自动显示功能。
标签: sas enterprise-guide