[英]How to convert list to string in Emacs Lisp
如何將列表轉換為字符串,以便我可以用它調用insert
或message
? 我需要顯示c-offsets-alist
但我得到了Wrong type argument: char-or-string-p
用於插入的Wrong type argument: char-or-string-p
或Wrong 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.