string - Cómo convertir lista a cadena en Emacs Lisp
elisp (4)
¿Cómo puedo convertir una lista en cadena para que pueda llamar a insert
o insert
message
con ella? Necesito mostrar c-offsets-alist
pero tengo un Wrong type argument: char-or-string-p
para insertar o un Wrong type argument: stringp
para mensaje.
No estoy seguro de lo que está intentando lograr, pero el format
convierte "cosas" en cadenas. Por ejemplo:
(format "%s" your-list)
Volverá una representación de su lista. message
utiliza formato internamente, por lo que
(message "%s" your-list)
lo imprimirá
O
(prin1-to-string your-string)
Por fin algo especial
(princ your-string)
(format)
insertará paréntesis en la cadena, por ejemplo:
ELISP> (format "%s" ''("foo" "bar"))
"(foo bar)"
Por lo tanto, si necesita un análogo a Ruby / JavaScript- join()
, hay (mapconcat)
:
ELISP> (mapconcat ''identity ''("foo" "bar") " ")
"foo bar"
M-x pp-eval-expression RET c-offsets-alist RET