Common Lisp -- 列表解包?(类似Python)
在Python中,假设定义了以下这个函数:
def function(a, b, c):
... do stuff with a, b, c ...
我可以通过Python的序列解包来使用这个函数:
arguments = (1, 2, 3)
function(*arguments)
那么在Common Lisp中有没有类似的功能呢?也就是说,如果我有一个函数:
(defun function (a b c)
... do stuff with a, b, c ...
而且我有一个包含3个元素的列表,我能不能很方便地把这3个元素作为参数传给这个函数呢?
我现在的实现方式是这样的:
(destructuring-bind (a b c) (1 2 3)
(function a b c))
有没有更好的方法呢?