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))

Есть ли способ лучше?

16
задан brildum 15 December 2010 в 15:46
поделиться