Il mio obiettivo è quello di passare simboli percentuali in una stringa.
Non ci sono risultati per il% put quando corro:
%let foo = %nrstr(bar%x%);
%put foo is &foo;
Se corro di nuovo, ottengo errori, il primo è
ATTENZIONE: la stringa quotata attualmente in elaborazione è diventata di più di 262 byte. Potresti avere virgolette non bilanciate. "
In Enterprise Guide, la parentesi di corrispondenza non rileva la parentesi chiusa.
Aggiunta di un'altra parentesi chiusa:
%let foo = %nrstr(bar%x%));
i risultati:
pippo è bar% x)
% nrstr passerà la parentesi sbilanciata nel risultato, quindi questo non è sorprendente, questo sembra implicare che lo snippet con la parentesi aperta e chiusa sia bilanciato.
risposte:
3 per risposta № 1Il simbolo della percentuale prima della parentesi chiusa causava il comportamento imprevisto.
Per SAS (R) 9.2 Macro Language: Riferimento:
segno percentuale prima di una parentesi - ad esempio,% (o%) due segni di percentuale (%%): ESEMPIO:% let x =% str (20 %%);
fare il codice corretto:
%let foo = %nrstr(bar%x%%);
%put foo is &foo;
con il risultato di:
pippo è bar% x%