有谁知道如何解决压缩Common Lisp的大列表
我得到了####(#0#)种类的名单而不是((黑色圆满)(白方空)......)应该
Lisp正在压缩我的列表,我希望在没有压缩的情况下发送到文件。 怎么样?
答案 0 :(得分:2)
可能*print-circle*
设置为T
。很难说,鉴于你的模糊描述。
CL-USER 7 > (let ((foo '(BRANCA REDONDA BAIXA CHEIA))) (list foo foo))
(#1=(BRANCA REDONDA BAIXA CHEIA) #1#)
CL-USER 8 > (setf *print-circle* nil)
NIL
CL-USER 9 > (let ((foo '(BRANCA REDONDA BAIXA CHEIA))) (list foo foo))
((BRANCA REDONDA BAIXA CHEIA) (BRANCA REDONDA BAIXA CHEIA))
答案 1 :(得分:1)
相关变量为*print-level*
。将它设置为如此低的值是不寻常的。
Lispworks还有dbg:*debug-print-level*
和hcl:*trace-print-level*
,分别用于调试和跟踪输出。
要打印所有内容,请将*print-level*
绑定到nil
。这可以明确地完成,如
(let ((*print-level* nil))
(print my-stuff))
或使用write
的关键字参数:
(write my-stuff :level nil)
答案 2 :(得分:0)
发现问题,LispWorks开始充满内存并开始使用#来节省内存。如果我重新启动Lispworks(有时可以工作,有时候不会),它会显示完整列表。
感谢您的帮助!