引用SAS宏變量時,何時需要用雙引號引起它,何時不應該引用? 即什麼時候使用「& var_name」以及何時使用& var_name何時在引用SAS宏變量時使用雙引號
0
A
回答
3
引號不是宏語言的一部分。宏語言的工作(最常見的)是生成SAS代碼。引號是SAS代碼語言的一部分。因此,無論您希望生成帶雙引號的SAS代碼,您都應該在宏語言中使用雙引號。
例如。考慮SAS數據步賦值語句:
name="Mary" ;
的SAS語言使用引號告訴數據跳躍編譯器,瑪麗是一個字符串值,而不是一個變量的名稱。
如果你想使用的宏語言,你可以這樣做:
%let name=Mary;
data want;
Name="&name" ;
run;
或者你可以這樣做:
%let name="Mary";
data want;
Name=&name;
Run;
在這兩種情況下,引號的含義的數據步編譯器相同的。他們告訴它,瑪麗是一個文本字符串。如果您沒有引號,編譯器會將Mary視爲引用數據步驟變量。
宏語言不需要引號來標識文本字符串,因爲宏語言中的所有內容都是文本字符串。宏語言不知道數據步驟變量。
0
這一切都取決於你的宏變量的價值和你想要做什麼。舉例:
%let unQuoted = My string;
%let quoted = "My string";
data _null_;
isEqual = "&unQuoted." = "ed.;
put _all_;
run;
打印isEqual=1
,意思是對的。如果這對你沒有幫助,請在你的問題中更具體。
相關問題
- 1. SAS:何時使用單引號或雙引號
- 2. 設置變量時使用雙引號
- 3. 何時引用宏變量
- 4. PHP:在雙引號內使用變量
- 5. 使用或不使用雙引號時打印數組變量
- 6. 在C++中定義char變量時使用單引號還是雙引號?
- 7. 用引號將SAS宏變量賦值給數據步驟var
- 8. 何時使用雙引號和單引號php mysql
- 9. 用引號和雙引號引起的bash變量字符串
- 10. 雙引號中使用雙引號
- 11. SAS宏變量+數組索引
- 12. 宏變量的單引號
- 13. 如何在變量中使用雙引號來執行反引號?
- 14. 雙引號內的變量
- 15. 在Ansible中使用with_items時,如何知道何時使用雙引號,單引號和大括號?
- 16. 使用雙引號
- 17. 如何使用帶有雙引號和單引號的bash變量
- 18. 何時使用符號來引用實例變量,何時不使用?
- 19. 需要使用單引號,雙引號,和變量在字符串中的R
- 20. 在sed中的單引號內使用雙引號內的變量
- 21. 使用單引號或雙引號
- 22. 使用單引號或雙引號
- 23. 用雙引號取代雙引號
- 24. 想用雙引號雙引號
- 25. 如何在python字符串中同時使用單引號和雙引號
- 26. SAS定義具有雙連字宏變量的%LET宏變量
- 27. 用雙引號
- 28. 用雙引號
- 29. 用雙引號
- 30. 如何使用R清除雙引號雙引號的CSV
這是*主要*正確的 - 以及我如何看待它。引用對於[標記化]很重要(http://support.sas.com/documentation/cdl/en/mcrolref/62978/HTML/default/viewer.htm#p030uw6k2s7wzyn18i9obutg923m.htm),特別是與[宏註釋被解析](http://support.sas.com/documentation/cdl/en/mcrolref/62978/HTML/default/viewer.htm#n17rxjs5x93mghn1mdxesvg78drx.htm)。但是對於99%的東西,引用字符與宏語言無關。 – Joe
也許你應該附加一兩句關於單引號和雙引號之間的區別?我知道這個問題只是詢問雙引號,但我覺得這應該是爲了完整性。 –