簡體   English   中英

如何在 Emacs Lisp 中將列表轉換為字符串

[英]How to convert list to string in Emacs Lisp

如何將列表轉換為字符串,以便我可以用它調用insertmessage 我需要顯示c-offsets-alist但我得到了Wrong type argument: char-or-string-p用於插入的Wrong type argument: char-or-string-pWrong type argument: stringp用於消息的Wrong type argument: stringp

我不確定您要實現什么,但format將“東西”轉換為字符串。 例如:

(format "%s" your-list)

將返回您的列表的表示。 message內部使用格式,所以

(message "%s" your-list)

將打印它

(format)將在字符串中嵌入括號,例如:

ELISP> (format "%s" '("foo" "bar"))
"(foo bar)"

因此,如果您需要類似 Ruby/JavaScript 的join() ,則有(mapconcat)

ELISP> (mapconcat 'identity '("foo" "bar") " ")
"foo bar"

要么

(prin1-to-string your-string)

終於有什么特別的了

(princ your-string)
M-x pp-eval-expression RET c-offsets-alist RET

如果您需要將((abcde))類的列表轉換為字符串"abcde"那么此函數可能會有所幫助:

(defun convert-list-to-string (list)
  "Convert list to string."
  (let* ((string-with-parenthesis (format "%S" list))
     (end (- (length string-with-parenthesis) 2)))
    (substring string-with-parenthesis 2 end)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM