代码如上一篇一致
使用
使用macroexpand-1函数可以展开宏
(macroexpand-1 '(do-primes-2 (p 0 19) (format t "~d" p)))返回结果:(DO ((P (NEXT-PRIME 0) (NEXT-PRIME (1+ P)))) ((> P 19)) (FORMAT T "~d~t" P))执行返回的结果:
CL-USER> (DO ((P (NEXT-PRIME 0) (NEXT-PRIME (1+ P)))) ((> P 19)) (FORMAT T "~d~t" P))
2 3 5 7 11 13 17 19
NIL
本文介绍了如何使用macroexpand-1函数来展开Common Lisp中的宏,并通过一个具体的例子展示了宏展开后的代码形式及其执行结果。
2955

被折叠的 条评论
为什么被折叠?



