我正在創建一個領域特定的語言。其中一個宏調用看起來是這樣的:我可以區分字符串文字參數和計算爲字符串的參數嗎?
(我的宏了foo(bar「巴茲」 qux)耶)
隨着我已經寫了我的宏的方式,這裏的第二個參數應該是一對括號內的字符串列表。因此,只要bar和qux評估字符串,我的宏就可以工作。讓我們只是說他們評價爲「bar」和「qux」,my-macro將第二個參數視爲「bar baz qux」。
但是現在我意識到我真的想要「baz」保留它的引號;我希望我的宏將第二個參數視爲「bar \」baz \「qux」。這可能嗎?在我的宏裏面,我可以告訴我什麼時候可以直接使用字符串,而當我需要添加雙引號時?
在此先感謝!
@泰耶 - norderhaug唉我想酒吧和qux評估和‘巴茲’仍然是一個帶引號的字符串。另外一個引用的字符串可以出現在arg2中的任何地方... – nil 2011-04-13 15:36:56