Quiero convertir ("USERID=XYZ" "USERPWD=123")
en "USERID=XYZ&USERPWD=123"
. Probé¿Cuál es la forma canónica de unir cadenas en una lista?
(apply #'concatenate 'string '("USERID=XYZ" "USERPWD=123"))
que devolverá ""USERID=XYZUSERPWD=123"
.
Pero no sé cómo insertar '&'? La siguiente función funciona pero parece un poco complicada.
(defun join (list &optional (delim "&"))
(with-output-to-string (s)
(when list
(format s "~A" (first list))
(dolist (element (rest list))
(format s "~A~A" delim element)))))
no sabía nada de ~ ^; ¡bonito! –
Desafortunadamente, esto no funciona en Emacs "elisp". Tienen una función de formato diferente. ¿Hay alguna manera comparable de hacer esto en Emacs? – killdash9
@russ: Probablemente. Al no ser un asistente de elisp, volví a Lisp básico ... '(defun join-to-str (cadenas cosa y resto) (etiquetas ((recurser (cadenas) (cond ((> (longitud de cadenas) 1) (append (lista (cadenas de automóviles) cosa) (recurser (cadenas CDR)))) (t (cons (cadenas de automóviles) nil))))) (aplicar 'concat (cadenas recurser)))) ' –