common-lisp — 如何包装具有可变参数的内置函数?

common-lisp — how to wrap a built-in function that has var-args?

我想包装内置的:

     (concatenate ‘string <arg1> <arg2> .. <argn>)

成为这样的人:

     (strcat <arg1> <arg2> ... <argn>)

问题是 - 如何在 common-lisp 中使用可变参数?我看到两条可能的路径:

  1. 接受一个列表作为参数,然后splat它/apply它[我都不知道]
  2. common-lisp 中的 var-args 特殊语法? ex: ...

谢谢

(defun strcat (&rest args)
  (apply #'concatenate 'string args))