Lisp 设置长字符串格式的奇怪行为

Lisp 设置长字符串格式的奇怪行为,lisp,common-lisp,sbcl,Lisp,Common Lisp,Sbcl,必须有一些东西来解释这一点,但对我来说,这目前毫无意义:) 如果有这三个变量: (setf l '((( "NAME" "HASH-TABLE" )) ("&BODY") ("BODY"))) (setf fs "WITH-HASH-TABLE-ITERATOR") (setf doc "V0lUSC1IQVNILVRBQkxFLUlURVJBVE9SICgobmFtZSBoYX

必须有一些东西来解释这一点,但对我来说,这目前毫无意义:)

如果有这三个变量:

(setf l '((( "NAME" "HASH-TABLE" )) ("&BODY") ("BODY")))
(setf fs "WITH-HASH-TABLE-ITERATOR")
(setf doc "V0lUSC1IQVNILVRBQkxFLUlURVJBVE9SICgobmFtZSBoYXNoLXRhYmxlKSAmYm9keSBib2R5KQoKUHJvdmlkZXMgYSBtZXRob2Qgb2YgbWFudWFsbHkgbG9vcGluZyBvdmVyIHRoZSBlbGVtZW50cyBvZiBhIGhhc2gtdGFibGUuIE5BTUUKaXMgYm91bmQgdG8gYSBnZW5lcmF0b3ItbWFjcm8gdGhhdCwgd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgaW52b2NhdGlvbiwKcmV0dXJucyBvbmUgb3IgdGhyZWUgdmFsdWVzLiBUaGUgZmlyc3QgdmFsdWUgdGVsbHMgd2hldGhlciBhbnkgb2JqZWN0cyByZW1haW4KaW4gdGhlIGhhc2ggdGFibGUuIFdoZW4gdGhlIGZpcnN0IHZhbHVlIGlzIG5vbi1OSUwsIHRoZSBzZWNvbmQgYW5kIHRoaXJkCnZhbHVlcyBhcmUgdGhlIGtleSBhbmQgdGhlIHZhbHVlIG9mIHRoZSBuZXh0IG9iamVjdC4KCkNvbnNlcXVlbmNlcyBhcmUgdW5kZWZpbmVkIGlmIEhBU0gtVEFCTEUgaXMgbXV0YXRlZCBkdXJpbmcgZXhlY3V0aW9uIG9mIEJPRFksCmV4Y2VwdCBmb3IgY2hhbmdpbmcgb3IgcmVtb3ZpbmcgZWxlbWVudHMgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVudCBrZXkuIFRoZQphcHBsaWVzIHRvIGFsbCB0aHJlYWRzLCBub3QganVzdCB0aGUgY3VycmVudCBvbmUgLS0gZXZlbiBmb3Igc3luY2hyb25pemVkCmhhc2gtdGFibGVzLiBJZiB0aGUgdGFibGUgbWF5IGJlIG11dGF0ZWQgYnkgYW5vdGhlciB0aHJlYWQgZHVyaW5nIGl0ZXJhdGlvbiwKdXNlIGVnLiBTQi1FWFQ6V0lUSC1MT0NLRUQtSEFTSC1UQUJMRSB0byBwcm90ZWN0IHRoZSBXSVRILUhBU0gtVEFCTEUtSVRFUkFUT1IKZm9yLg==")
使用此指令设置其格式:

(format NIL "~a ~a ~a" fs doc l)
我得到输出:

"WITH-HASH-TABLE-ITERATOR V0lUSC1IQVNILVRBQkxFLUlURVJBVE9SICgobmFtZSBoYXNoLXRhYmxlKSAmYm9keSBib2R5KQoKUHJvdmlkZXMgYSBtZXRob2Qgb2YgbWFudWFsbHkgbG9vcGluZyBvdmVyIHRoZSBlbGVtZW50cyBvZiBhIGhhc2gtdGFibGUuIE5BTUUKaXMgYm91bmQgdG8gYSBnZW5lcmF0b3ItbWFjcm8gdGhhdCwgd2l0aGluIHRoZSBzY29wZSBvZiB0aGUgaW52b2NhdGlvbiwKcmV0dXJucyBvbmUgb3IgdGhyZWUgdmFsdWVzLiBUaGUgZmlyc3QgdmFsdWUgdGVsbHMgd2hldGhlciBhbnkgb2JqZWN0cyByZW1haW4KaW4gdGhlIGhhc2ggdGFibGUuIFdoZW4gdGhlIGZpcnN0IHZhbHVlIGlzIG5vbi1OSUwsIHRoZSBzZWNvbmQgYW5kIHRoaXJkCnZhbHVlcyBhcmUgdGhlIGtleSBhbmQgdGhlIHZhbHVlIG9mIHRoZSBuZXh0IG9iamVjdC4KCkNvbnNlcXVlbmNlcyBhcmUgdW5kZWZpbmVkIGlmIEhBU0gtVEFCTEUgaXMgbXV0YXRlZCBkdXJpbmcgZXhlY3V0aW9uIG9mIEJPRFksCmV4Y2VwdCBmb3IgY2hhbmdpbmcgb3IgcmVtb3ZpbmcgZWxlbWVudHMgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVudCBrZXkuIFRoZQphcHBsaWVzIHRvIGFsbCB0aHJlYWRzLCBub3QganVzdCB0aGUgY3VycmVudCBvbmUgLS0gZXZlbiBmb3Igc3luY2hyb25pemVkCmhhc2gtdGFibGVzLiBJZiB0aGUgdGFibGUgbWF5IGJlIG11dGF0ZWQgYnkgYW5vdGhlciB0aHJlYWQgZHVyaW5nIGl0ZXJhdGlvbiwKdXNlIGVnLiBTQi1FWFQ6V0lUSC1MT0NLRUQtSEFTSC1UQUJM (((NAME
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         HASH-TABLE))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       (&BODY)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       (BODY))"
请注意打印列表末尾的换行符。我希望有一条直线没有断线。这必须来自SBCL,而不是长字符串的命令行行为,因为
(format NIL…
在字符串中提供了类似的输出。这种行为在SBCL>2.0中也是新的

是否缺少一些控制变量,如
*打印级别*

很抱歉,输出太长,但这种情况只会发生在输出太长的情况下。

这是由于设置的原因。这会导致打印机换行并尝试将列表元素对齐

把它修好

(setq *print-pretty* nil)
这是由于被设置。这会导致打印机换行并尝试将列表元素对齐

把它修好

(setq *print-pretty* nil)

关闭
*漂亮打印*
。是的,就是这样:)关闭
*漂亮打印*
。是的,就是这样:)。。。或者
(let(*print pretty*)(format NIL“~a~a~a”fs doc l))
如果您只想为一段代码关闭它,而不想影响全局。。。。或者
(let(*print pretty*)(format NIL“~a~a~a”fs doc l))
,如果您只想为一段代码关闭它,而不想影响全局。