gpt4 book ai didi

stream - 我是否必须关闭使用 make-string-input-stream 创建的流

转载 作者:行者123 更新时间:2023-12-01 12:33:10 25 4
gpt4 key购买 nike

这个问题说明了一切。我想知道因为 clhs对于 make-string-input-stream 不指定,示例代码也不显示结束。但是扩展 with-input-from-string 会关闭流。

(with-input-from-string (stream "hallo")
)

成为

(LET ((#:STRING1525 "hallo"))
(LET ((STREAM (MAKE-STRING-INPUT-STREAM #:STRING1525 0)))
(MULTIPLE-VALUE-PROG1 (UNWIND-PROTECT (PROGN) (CLOSE STREAM)))))

最佳答案

如果您在重新使用变量之前没有关闭它,垃圾收集器将负责清理它。由于字符串输入流没有任何副作用,CLOSE 不执行任何必要的操作。

输出流会有所不同,因为关闭流可能是副作用所必需的,例如刷新缓冲输出的最后一位(尽管您也可以自己调用 FORCE-OUTPUT or FINISH-OUTPUT)。

关于stream - 我是否必须关闭使用 make-string-input-stream 创建的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31707860/

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