如果我有两个宏变量:
&foo.
= aaa bbb ccc
&bar.
= xxx yyy zzz
如何'拉链'给他们:&bat.
= aaa xxx bbb yyy ccc zzz
?
请注意,不询问如何连接字符串(输出与aaa bbb ccc xxx yyy zzz
不同)。
答案 0 :(得分:1)
这是一个简单的例子。从你的例子到你的实际问题,将它概括起来应该不会太难。
%let foo = aaa bbb ccc;
%let bar = xxx yyy zzz;
%macro zip();
%let bat =;
%do i = 1 %to 3;
%let bat = &bat. %scan(&foo.,&i.) %scan(&bar.,&i.);
%end;
%put &bat.;
%mend zip;
%zip()
目前它只包含在一个宏中,因此我可以使用%do
循环。 %put
声明仅在那里,以便您可以看到它正在发挥作用。