Я пытаюсь использовать функциональность модификатора двоеточия в макросе, но, похоже, он не работает так же, как в шаге данных. Пример того, что я пытаюсь сделать, показан ниже.
data _null_;
str = "hello";
if str =: "h" then put "y";
else put "n";
run;
if-statement
оценивает TRUE
на шаге данных, но когда я применяю аналогичную логику на языке макросов, это больше не работает.
%let str = hello;
%put %eval(&str =: h);
Приведенный выше код теперь оценивается как FALSE
. Я что-то здесь упускаю или этот модификатор просто недоступен в макроязыке? Я знаю, что мог бы использовать %eval(%substr(&str,1,1)=h)
, но мне больше интересно узнать, будет ли работать :
.