1
據%bquote()宏函數文檔我沒有標記不成對的「(」與%將它分配給宏變量。%bquote不掩蓋不配對支架
但這代碼不起作用出於某種原因(變量var是空白的結果):
%let var=%bquote(();
%put &var;
爲什麼我該如何修復代碼產生預期的結果
據%bquote()宏函數文檔我沒有標記不成對的「(」與%將它分配給宏變量。%bquote不掩蓋不配對支架
但這代碼不起作用出於某種原因(變量var是空白的結果):
%let var=%bquote(();
%put &var;
爲什麼我該如何修復代碼產生預期的結果
你在執行時間與掩蓋混淆掩蓋?編譯蒂姆e。
%BQUOTE
掩模特殊字符at execution time:
的%BQUOTE函數對待所有括號和通過解析宏變量的引用或宏調用作爲特殊字符,以在執行時進行掩蔽產生引號。 (這並不掩蓋是在編譯時的參數括號或引號)。
要在掩蓋它編譯時候,你必須,因爲你是在一個%let
賦予它的價值,你必須使用%str
,其中確實要求在括號前加上%
。
%let var=%str(%();
%put &var;