common-lisp — 如何包装具有 var-args 的内置函数?

puf*_*puf 0 lisp common-lisp variadic-functions

我想包装内置的:

     (concatenate ‘string <arg1> <arg2> .. <argn>)
Run Code Online (Sandbox Code Playgroud)

成为这样的事情:

     (strcat <arg1> <arg2> ... <argn>)
Run Code Online (Sandbox Code Playgroud)

问题是 - 如何在 common-lisp 中做 var-args?我看到两条可能的路径:

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

谢谢

小智 5

(defun strcat (&rest args)
  (apply #'concatenate 'string args))
Run Code Online (Sandbox Code Playgroud)