gpt4 book ai didi

input - 为什么 read-line 运行两次以从 Lisp 中的文件中读取?

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

这是用 lisp 实现“cat”命令的代码,如书 ANSI Common Lisp 中所述。 , 第 122 页。

(defun pseudo-cat (file)  (with-open-file (str file :direction :input)    (do ((line (read-line str nil 'eof)               (read-line str nil 'eof)))        ((eql line 'eof))      (format t "~A~%" line))))

为什么 read-line 函数运行了两次?我试图只用一个读取行来运行它,但是 Lisp 无法完成代码。

最佳答案

DO变量的语法是:变量,初始化形式,更新形式。在这种情况下,初始化表单与更新表单相同。但是在 DO 中没有这种情况的简写,所以你必须把它写出来。

关于input - 为什么 read-line 运行两次以从 Lisp 中的文件中读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795954/

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