gpt4 book ai didi

emacs - 如何在 emacs lisp 中打印特殊字符

转载 作者:行者123 更新时间:2023-12-02 01:37:28 26 4
gpt4 key购买 nike

例如,我的函数中的一行代码

 (message "char %c:%d" character count)

将打印每个字符的计数。对于不可打印的字符,例如换行符和制表符,我希望输出如下所示:

 \n:4
\t:6

而不是按字面打印换行符和制表符。我该怎么做?

最佳答案

您可以通过在打印之前绑定(bind)某些变量来实现部分这一点。

`print-escape-newlines' is a variable defined in `C source code'.
Its value is nil

Documentation:
Non-nil means print newlines in strings as `\n'.
Also print formfeeds as `\f'.

还有:

print-escape-nonascii
Non-nil means print unibyte non-ASCII chars in strings as \OOO.

print-escape-multibyte
Non-nil means print multibyte characters in strings as \xXXXX.

这些都适用于prin1,因此您可以在格式中使用%S代码。例如:

(let ((print-escape-newlines t))
(format "%S" "new\nline"))

关于emacs - 如何在 emacs lisp 中打印特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17757468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com