В SAS EG
есть удобная функция, которая позволяет видеть параметры макро-функции и ее определения при наборе.
Например, если я выполню:
%macro test
(a /* this is a */
,b /* this is b */
);
%put a b;
%mend;
А затем введите %test(
, всплывающее окно покажет мне «a: это 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
, который прошел бы по каталогу и выполнил бы каждое сохраненное определение макроса, но это довольно уродливо, и я неполностью уверен, как япошел бы на это ...