Moim celem jest przekazanie symboli procentowych do ciągu znaków.
Nie ma wyniku dla% wstawionego po uruchomieniu:
%let foo = %nrstr(bar%x%);
%put foo is &foo;
Jeśli uruchomisz ponownie, dostaję błędy, pierwszy jest
OSTRZEŻENIE: Obecnie cytowany ciąg znaków stał się bardziej niż 262 bajty. Możesz mieć niezbilansowane znaki cudzysłowu. "
W Przewodniku po przedsiębiorstwie narzędzie do tworzenia nawiasów nie wykrywa zamkniętego nawiasu.
Dodawanie kolejnego nawiasu zamykającego:
%let foo = %nrstr(bar%x%));
wyniki:
foo to bar% x)
% nrstr przejdzie do wyniku w niezbalansowanym nawiasie, więc nie jest to zaskakujące, co mogłoby sugerować, że fragment z otwartym i zamkniętym nawiasem jest zrównoważony.
Odpowiedzi:
3 dla odpowiedzi № 1Symbol procentu przed zamkniętym nawiasem powodował nieoczekiwane zachowanie.
Za SAS (R) 9.2 Język makr: odniesienie:
znak procentu przed nawiasem - na przykład% (lub%) dwa znaki procentu (%%): PRZYKŁAD:% let x =% str (20 %%);
tworzenie poprawnego kodu:
%let foo = %nrstr(bar%x%%);
%put foo is &foo;
w wyniku:
foo to bar% x%