Sal*_*Egg 1 macros common-lisp
我想一个宏my-macro可以扩展到1 2 3不是(1 2 3),这样
(list (my-macro) 4 5) -> (1 2 3 4 5)
Run Code Online (Sandbox Code Playgroud)
这可能吗?
不,宏不能扩展到多个值.当你需要一个宏来扩展到多段代码时,典型的做法是将返回值包装在一个progn.
在评论中的示例中,看起来好像您使用的宏不是语法抽象,而是作为廉价和快乐的函数优化,通常的反应是"请不要这样做,这是错误的并且没有"实际上做你想做的事情.
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |