(if …)
列表正在由漂亮打印機在假設它(可能)是一個實際的Lisp表單的情況下處理。
CL-USER> (setf *print-pretty* nil)
NIL
CL-USER> '(if 1 2 3)
(IF 1 2 3)
CL-USER> (setf *print-pretty* t)
T
CL-USER> '(if 1 2 3)
(IF 1
2
3)
你會發現,除其他事項外,let
形式也將同樣縮進,和某些loop
符號將啓動新的生產線。還有其他一些影響。
CL-USER> '(loop for thing in stuff with boo = 4 count mice)
(LOOP FOR THING IN STUFF
WITH BOO = 4
COUNT MICE)
CL-USER> '(let 1 2 3)
(LET 1
2
3)
CL-USER> '(defun 1 nil 2 3)
(DEFUN 1() 2 3)
CL-USER> (setf *print-pretty* nil)
NIL
CL-USER> '(defun 1 nil 2 3)
(DEFUN 1 NIL 2 3)
BTW,相關標準被發現... ... http://www.lispworks.com/documentation/lw60/CLHS/Body/22_b.htm如果你是,比方說,要重新編程爲您的目的。
對於只是打印數據列表,我懷疑禁用漂亮的打印或使用FORMAT
可能就足夠了,但。
例如,
(format t "~&[email protected](~{~a~^ ~}~)" '(violets are blue))
Violets are blue
沒有換行* *在結果列表,它的SBCL只是如何打印它。例如,CCL和CLISP在單行上打印列表。 – uselpa
O,謝謝:)我很感謝快速回答。你知道它爲什麼以這種方式打印嗎? – Floofk
對不起,我沒有使用SBCL我有一個快速瀏覽文檔,我沒有找到任何會導致此問題的參數。有些更熟悉SBCL的人可能可以解釋這一點。 – uselpa