gpt4 book ai didi

lisp - 避免 Clozure lisp 中的回声(菜鸟)

转载 作者:太空宇宙 更新时间:2023-11-03 18:49:08 24 4
gpt4 key购买 nike

我被 lisp 弄湿了,遇到了一个(我认为)不寻常的问题。我想创建很长的列表;即,类似于 (setf *mat* (make-list 1000000)),但没有在屏幕上打印一百万次 Nil

我想到的最好的是...

(let () (setf *mat* (make-list 1000000)) (length *mat*))

(或闭包末尾的其他一些简短但无用的函数)

...但我怀疑有更好的解决方案来避免这些双足打印输出。任何输入表示赞赏。顺便说一句,我在 Windows 7 下使用 Clozure v1.10。

最佳答案

通常会在最后调用(values)

Common Lisp 有一种方法可以在打印机级别处理长输出:

Welcome to Clozure Common Lisp Version 1.9-dev-r15612M-trunk  (DarwinX8664)!
? *print-length*
NIL
? (setf *print-length* 100)
100
? (make-list 1000000)
(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL ...)

*print-length* 这里是控制它的变量。

关于lisp - 避免 Clozure lisp 中的回声(菜鸟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30808270/

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