Je souhaite définir une fonction qui accepte les paramètres &rest
et les délègue à une autre fonction.Traitement des paramètres & rest en Lisp commun
(html "blah" "foo" baz) => "<html>blahfoobaz</html>"
Je n'ai pas trouvé une meilleure façon que celui-ci:
(defun html (&rest values)
(concatenate 'string
"<html>"
(reduce #'(lambda (a b)
(concatenate 'string a b))
values :initial-value "")
"</html>"))
Mais cela ressemble un peu glumbsy pour moi, puisque la ligne 4 ne fait que concaténer le paramètre reste & « valeurs ». J'ai essayé (concatenate 'string "<html>" (values-list values) "</html>")
mais cela ne semble pas fonctionner (SBCL). Quelqu'un pourrait-il me donner un conseil?
Amitiés
P note de bail la question a été changée après que j'ai donné cette réponse. –