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 中使用可变参数?我看到两条可能的路径:
- 接受一个列表作为参数,然后
splat
它/apply
它[我都不知道]
- common-lisp 中的 var-args 特殊语法?
ex: ...
谢谢
(defun strcat (&rest args)
(apply #'concatenate 'string args))
我想包装内置的:
(concatenate ‘string <arg1> <arg2> .. <argn>)
成为这样的人:
(strcat <arg1> <arg2> ... <argn>)
问题是 - 如何在 common-lisp 中使用可变参数?我看到两条可能的路径:
- 接受一个列表作为参数,然后
splat
它/apply
它[我都不知道] - common-lisp 中的 var-args 特殊语法?
ex: ...
谢谢
(defun strcat (&rest args)
(apply #'concatenate 'string args))