a********a 发帖数: 346 | 1 sas Macro 学了一下肯定没有学好,我下边的两道题还是没有弄明白,有人帮我解释一
下好吗?
%macro test(var);
%let jobs=blacksmithwordsmithswordsmith;
%let type=%index(&jobs,&var);
%put type=&type;
%mend;
%test(smith)
A: 0
B: 3
C:6
D: null
Answer:C
答案为啥是C而不是B呢?
%let first=yourname;
%let last=first;
%put &&&last;
what is writing to the sas log?
A: first;
B: &&first;
C: yourname;
D: &yourname;
Answer: C
答案为啥是C呢?另外我觉得有三个儿不是两个&在last 前面。 |
g*******t 发帖数: 124 | 2 第一个,就是index(blacksmith.....,smith)
smith是第六位。
【在 a********a 的大作中提到】 : sas Macro 学了一下肯定没有学好,我下边的两道题还是没有弄明白,有人帮我解释一 : 下好吗? : %macro test(var); : %let jobs=blacksmithwordsmithswordsmith; : %let type=%index(&jobs,&var); : %put type=&type; : %mend; : %test(smith) : A: 0 : B: 3
|
g*******t 发帖数: 124 | 3 第二个先变成&first, 然后yourname
【在 a********a 的大作中提到】 : sas Macro 学了一下肯定没有学好,我下边的两道题还是没有弄明白,有人帮我解释一 : 下好吗? : %macro test(var); : %let jobs=blacksmithwordsmithswordsmith; : %let type=%index(&jobs,&var); : %put type=&type; : %mend; : %test(smith) : A: 0 : B: 3
|
a********a 发帖数: 346 | 4 Thanks gutencht, 我觉得用 %put &&last(两个&); 就可以了,为啥要用%put &&&
last(三个&)呢; |
g*******t 发帖数: 124 | 5 两个&变成一个&, &&last->&last->first
&&
【在 a********a 的大作中提到】 : Thanks gutencht, 我觉得用 %put &&last(两个&); 就可以了,为啥要用%put &&& : last(三个&)呢;
|