【发布时间】:2019-08-31 16:36:39
【问题描述】:
一些 Common Lisp 列表和序列函数可以将多个列表或序列作为其最终参数。例如:
(mapcar #'list '(a b) '(c d) '(e f)) => ((a c e) (b d f))
但是如果最终的参数已经合并成一个列表/序列,如((a b) (c d) (e f) ...),你怎么能得到相同的结果(就像列表/序列被拼接到原始函数中一样)?还有比写宏更直接的方法吗?
编辑:我想我找到了一种方法:(apply #'funcall #'mapcar #'list '((a b) (c d) (e f))),但可能还有其他方法。
【问题讨论】:
-
#'funcall是不必要的。
标签: common-lisp sequence