Le *_*ous 5 lisp printing common-lisp
CLHS说
An attempt to print a circular structure with *print-circle* set
to nil may lead to looping behavior and failure to terminate.
Run Code Online (Sandbox Code Playgroud)
然后是这样的:
为什么这个Lisp宏作为一个整体工作,即使每个部分都不起作用?
显然,*print-circle*设置为零会导致意外.为什么*print-circle*在许多系统上默认设置为nil?如果我从代码的开头全局设置为t,会出现什么问题?
如果设置*print-circle*为true,那么所有输出函数都必须进行循环检查.这意味着它们可能会减速并占用更多内存.
如果你实际上没有使用循环结构(我不是Lisp pro,但我倾向于像瘟疫那样避免使用它们),我不会在生产代码中进行循环检查.
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |