2016-08-12 1 views
2

Я пытаюсь привести подстроку макрокоманды. Код:Не разрешать макровируемый текст, возвращаемый% substr() с & в начале

%let hola=resuelto!; 

%macro prueba(param); 
    %let amper=&param; 
    %let amper2=%nrbquote(%substr(&param,1,3)); 
    %put &param; 
    %put &amper; 
    %put &amper2; 
%mend; 

%prueba(%nrstr(&hola)); 

В журнале, я получаю:

WARNING: Apparent symbolic reference HO not resolved. 
&hola 
&hola 
&ho 

Проблема в том, мне нужно назначить amper2 буквально значение &ho, без каких-либо попыток разрешения, как я с amper, который получает буквально строку &hola ... любая идея?

Спасибо заранее!

ответ

2

Изменение

%nrbquote(%substr(&param,1,3)) 

в

%qsubstr(&param,1,3) 

должен сделать трюк.

+0

Только то, что я искал! Большое спасибо! – Alex

+0

@Alex Не могли бы вы отметить его как ответ, который вы искали? – fl0r3k

Смежные вопросы