相关疑难解决方法(0)

如何将列表传递给常见的lisp中的宏?

我正在尝试将列表传递给宏,例如:

(defmacro print-lst (lst)
  `(progn
     ,@(mapcar #'(lambda (x) `(print ,x)) lst)))
(let ((lst '(1 2 3)))
      (print-lst lst))
Run Code Online (Sandbox Code Playgroud)

它发现错误:"LST值不是LST类型".

所以,我的问题是,这段代码有什么问题以及如何将列表传递给宏?

common-lisp

1
推荐指数
1
解决办法
1985
查看次数

标签 统计

common-lisp ×1