在常见的lisp中展开/展开参数

时间:2010-02-27 02:22:16

标签: common-lisp splat

说我有一个参数列表:

> (setf format-args `(t "it's ~a" 1))  
(T "it's ~a" 1)

如何将“splat”或“展开”为一系列参数而不是单个列表参数,以提供给格式函数? 即我希望进行以下函数调用:

> (format t "it's ~a" 1)

作为参考,我会在python或ruby中编写以下内容:

format(*format-args)

我确信它可以做到,但也许我认为这是错误的。这项行动的名称似乎没有得到很好的同意,这也无济于事......

1 个答案:

答案 0 :(得分:10)

糟糕!我应该记得javascript是如何做到的。

原来你使用了apply函数,如:

(apply #'format format-args)