我是否在通用Lisp中打印格式化输出?在球拍中,我使用display来实现它,如下所示:
(display "\33[3min italics\33[m\n")我试过使用(format t "~ain italics~a" "\33[3m" "\33[m"),但它不起作用。这也不是:(format t "~cin italics~c" #\33[3m #\33[m)。
发布于 2022-07-04 12:56:00
这里的主要问题是如何获得适当的字符序列。33是普通Lisp中ascii char 27或#\Esc的八进制。
(format t "~C[3min italics~C[m~%" #\Esc #\Esc)做你想做的事。
但你可以做得更好。有一个名为cl-国际刑警组织的库,它通过修改读取器来演示Common的灵活性,这样您就可以使用已经熟悉的语法。例如:
* (ql:quickload 'cl-interpol)
To load "cl-interpol":
Load 1 ASDF system:
cl-interpol
; Loading "cl-interpol"
...
(CL-INTERPOL)
* (named-readtables:in-readtable :interpol-syntax)
#<NAMED-READTABLE :INTERPOL-SYNTAX {1002E6D6B3}>
* (format t #?"\33[3min italics\33[m\n")
in italics
NILhttps://stackoverflow.com/questions/72854612
复制相似问题