私はSASを学んでいて、このマクロを書いています:
%macro firstMacro(mvLO, OLO);
%local Count;
%local Wordy;
%local Resty;
%let Resty = '';
%let Count = %sysfunc( count( &OLO, %str( ) ) );
%let Wordy = %sysfunc( scan(&OLO, 1 ,%str( ) ) );
%let Wordy = "&Wordy";
%let Resty = &Wordy;
%put &Resty;
/*strange behavior here*/
%DO I=2 %TO &Count+1;
%let Wordy = %sysfunc(scan(&OLO, &I ,%str( ) ));
%let Wordy = "&Wordy";
%put Wordy is;
%put &Wordy;
%let Resty = %sysfunc(cats(&Resty, %str(,), &Wordy));
%put &Resty;
%END;
%put FINAL OUT;
%put &Resty;
%mend firstMacro;
そしてそれを呼び出す:
%firstMacro(mvLO=WORK, OLO=field_1 field_2 field_3);
そして、この出力を参照してください。
FINAL OUT
"field_1""field_2","field_3
だから、私はSASに尋ねます:なぜあなたはと,
の間の私のコンマ()を食べるのですか?field_1
field_2